2012-01-16 8 views
30

Ho passato un po 'di tempo a esaminare i documenti e a passare il mio file di configurazione doxy da un capo all'altro. Taglio di doxygen loose nel mio file di configurazione e produce documentazione e indici per structs e classi cpp ma non vedo i grafici call o caller per la moltitudine di funzioni c nella mia struttura dei sorgenti.come ottenere doxygen per produrre grafici call & caller per le funzioni c

Qualcuno può dirmi come configurare doxygen per produrre questi alberi di chiamata e chiamante? Ho installato Graphviz.

+1

Puoi aggiungere l'output da doxygen – Neox

risposta

41

bisogna impostare HAVE_DOT, CALL_GRAPH e CALLER_GRAPH a YES. Assicurati inoltre che il percorso per dot sia nella variabile PATH.

Se il problema persiste, è possibile che sia necessario impostare EXTRACT_ALL e/o EXTRACT_STATIC, in base alle proprie funzioni.

+0

Mi scuso, ho HAVE_DOT, CALL_GRAPH e CALLER_GRAPH impostato su YES. Con "variabile PATH" presumo tu intenda nella mia shell perché non sembra essercene uno nel mio file doxy cfg. Sì, punto è nel mio percorso (ad esempio "che punto" funziona). Non avevo impostato EXTRACT_ALL o EXTRACT_STATIC. Dai commenti non sembra che questi sarebbero rilevanti ma ci sto provando ora. Grazie per la risposta. – user501138

+1

Se per qualche ragione doxygen non riesce a trovare il punto, è possibile impostare manualmente il percorso tramite 'DOT_PATH' nel proprio Doxyfile. – pezcode

+6

+1: 'EXTRACT_ALL' e' EXTRACT_STATIC' hanno funzionato per me. –

4

Impostare il percorso su "punto" (/ usr/local/bin /) tramite i controlli della scheda "Esperto" nella GUI ha fatto il trucco!

5

doxywizard è anche utile. Ti dà tutte le opzioni in una GUI. La selezione di qualsiasi opzione mostra un aiuto rapido su tale opzione.

Potresti essere interessato anche a COLLABORATION_GRAPH o GRAPHICAL_HIERARCHY.

Abbastanza conveniente.

+0

Dolce! Li ho trovati sotto Expert-> Dot in doxywizard. Dovevo prima abilitare HAVE_DOT. – thomasa88

1

Ho avuto lo stesso problema per le mie funzioni globali C. L'attivazione di CLANG_ASSISTED_PARSING ha aiutato a visualizzare i callgraph per alcune funzioni, ma non tutte.