Forum: PC Hard- und Software Call/er Tree mit Doxygen und Graphviz


von Hansbär (Gast)


Lesenswert?

Hallo zusammen,

ich versuche gerade in meinem Code einen Call Tree aufzeichnen zu 
lassen. Die Haken damit ein solcher gezeichnet werden kann ist gesetzt. 
Jedoch macht er bei manchen Funktionen den Call bzw. Callergraph mit 
rein und bei manchen nicht. Kann mir das einer erklären?

von Timmo H. (masterfx)


Lesenswert?

Poste doch mal eine Funktion wo der den Call graph macht und eine wo er 
es nicht macht.

von Hansbär (Gast)


Lesenswert?

Das geht leider nicht, da es sich um geschäftliche Daten handelt. Die 
beiden FUnktionen die ich vergleiche sind aber recht ähnlich aufgebaut. 
Bei der einen macht er es, bei der anderen nicht :-/ ?

von Hansbär (Gast)


Lesenswert?

Boah ich mache da jetzt schon ne gefühlte Ewigkeit daran rum. Kann mir 
wenigstens jemand ne gescheite Dokumenation empfehlen? Die von Doxygen 
ist nicht wirklich Aussagekräftig!

von Brumbär (Gast)


Lesenswert?

Hansbär schrieb:
> Kann mir das einer erklären?

Gab es da nicht irgendwelche "hide"-Optionen für bestimmte 
Funktionstypen ? Schau da mal nach.

von Rolf M. (rmagnus)


Lesenswert?

Hansbär schrieb:
> Die Haken damit ein solcher gezeichnet werden kann ist gesetzt.

Was für Haken?

Hansbär schrieb:
> Boah ich mache da jetzt schon ne gefühlte Ewigkeit daran rum. Kann mir
> wenigstens jemand ne gescheite Dokumenation empfehlen? Die von Doxygen
> ist nicht wirklich Aussagekräftig!

Das Doxyfile enthält eigentlich eine sehr ausführliche Dokumentation.

von Hansbär (Gast)


Lesenswert?

Rolf Magnus schrieb:
> Hansbär schrieb:
>> Die Haken damit ein solcher gezeichnet werden kann ist gesetzt.
>
> Was für Haken?
>
> Hansbär schrieb:
>> Boah ich mache da jetzt schon ne gefühlte Ewigkeit daran rum. Kann mir
>> wenigstens jemand ne gescheite Dokumenation empfehlen? Die von Doxygen
>> ist nicht wirklich Aussagekräftig!
>
> Das Doxyfile enthält eigentlich eine sehr ausführliche Dokumentation.
>
>
>
>     Beitrag melden | Bearbeiten | Löschen |


Mit den "Haken" kann man die einzelnen Optionen einschalten.
Es steht einiges drin im Doxyfile, aber ausführlich bzw. verständlich 
ist das nicht wirklich

von Hansbär (Gast)


Lesenswert?

Brumbär schrieb:
> Gab es da nicht irgendwelche "hide"-Optionen für bestimmte
> Funktionstypen ? Schau da mal nach.

Das mag sein, allerdings ist das keine besondere Funktion. Natürlich 
haben alle Funktionen eine unterschiedliche Parameterliste, sonst gibt 
es keine Besonderheiten

von Timmo H. (masterfx)


Lesenswert?

Evtl. wird eine Funktion irgendwie durch einen Funktionspointer 
aufgerufen und Doxygen kann das nicht nachvollziehen. Ansonsten sind was 
den Graph angeht die Einstellungen nicht besondern viel.
Meine alte Konfig die ging sah so aus:
1
#---------------------------------------------------------------------------
2
# Configuration options related to the dot tool   
3
#---------------------------------------------------------------------------
4
CLASS_DIAGRAMS         = YES
5
HIDE_UNDOC_RELATIONS   = YES
6
HAVE_DOT               = YES
7
CLASS_GRAPH            = NO
8
COLLABORATION_GRAPH    = YES
9
GROUP_GRAPHS           = YES
10
UML_LOOK               = YES
11
TEMPLATE_RELATIONS     = NO
12
INCLUDE_GRAPH          = YES
13
INCLUDED_BY_GRAPH      = YES
14
CALL_GRAPH             = YES
15
CALLER_GRAPH           = YES
16
GRAPHICAL_HIERARCHY    = YES
17
DIRECTORY_GRAPH        = YES
18
DOT_IMAGE_FORMAT       = png
19
DOT_PATH               = D:/graphviz-win-2.8.bin/graphviz-2.8/bin
20
DOTFILE_DIRS           = 
21
MAX_DOT_GRAPH_WIDTH    = 1024
22
MAX_DOT_GRAPH_HEIGHT   = 1024
23
MAX_DOT_GRAPH_DEPTH    = 1000
24
DOT_TRANSPARENT        = NO
25
DOT_MULTI_TARGETS      = NO
26
GENERATE_LEGEND        = YES
27
DOT_CLEANUP            = YES

von Hansbär (Gast)


Lesenswert?

Ich habe gerade gesehen, dass nur "globale Funktionen" aufgezeichnet 
werden :-/ Damit hat sich das dann erledigt. Kann mir noch jemand sagen, 
wie man den Reiter ganz erstellt, der das Projekt in seiner 
Verzeichnisstruktur darstellt und in der man die Files direkt öffnen 
kann?

von Holger (Gast)


Lesenswert?

------------------------------------------------------------------------
1.Hint zu Suchen: -->
Google file:“*pdf“ doxygen
Also mit Triggerwort file:
und den String:“*.pdf“
bei Google Suchen
Finde ich exclusiv *.pdf Infos zum suchen,damit ich Doygen noch besser
steuern kann.
------------------------------------------------------------------------
http://www.gnu.org/software/global/globaldoc.html
------------------------------------------------------------------------
/home/user/
 |
 |-ROOT/      <- the root of source tree (GTAGS,GRTAGS,...)
    |
    |- README       .....   +---------------+
    |                       |The function of|
    |                       +---------------+
    |- DIR1/
    |  |
    |  |- fileA.c   .....   +---------------+
    |  |                    |main(){        |
    |  |                    |       func1();|
    |  |                    |       func2();|
    |  |                    |}              |
    |  |                    +---------------+
    |  |
    |  |- fileB.c   .....   +---------------+
    |                       |func1(){ ... } |
    |                       +---------------+
    |- DIR2/
       |
       |- fileC.c   .....   +---------------+
                            |#ifdef X       |
                            |func2(){ i++; }|
                            |#else          |
                            |func2(){ i--; }|
                            |#endif         |
                            |func3(){       |
                            |       func1();|
                            |}              |
                            +---------------+
Ich denke der FreeScale CodeWarrier macht so einen Call-Tree auch.???
Gruss Holger.

von Holger (Gast)


Lesenswert?


von Rolf M. (rmagnus)


Lesenswert?

Hansbär schrieb:

> Mit den "Haken" kann man die einzelnen Optionen einschalten.

Dann hast du das wohl über irgendeine Art von IDE konfiguriert, die dir 
das anbietet. Bei Doxygen gibt es keine "Haken".

> Es steht einiges drin im Doxyfile, aber ausführlich bzw. verständlich
> ist das nicht wirklich

Hmm, ist das denn überhaupt ein klassisch per 'doxygen -g' generiertes, 
oder wurde das von deiner IDE erzeugt? Ich hatte bisher keine Probleme 
mit den Kommentaren.

von Hansbär (Gast)


Lesenswert?

Rolf Magnus schrieb:
>> Mit den "Haken" kann man die einzelnen Optionen einschalten.
>
> Dann hast du das wohl über irgendeine Art von IDE konfiguriert, die dir
> das anbietet. Bei Doxygen gibt es keine "Haken".
>
>> Es steht einiges drin im Doxyfile, aber ausführlich bzw. verständlich
>> ist das nicht wirklich
>
> Hmm, ist das denn überhaupt ein klassisch per 'doxygen -g' generiertes,
> oder wurde das von deiner IDE erzeugt? Ich hatte bisher keine Probleme
> mit den Kommentaren.


In den Experteneinstellungen gibt es sehr wohl Haken :)
Ich habe die Doku mit Doxygen erstellt. Ich verwende keine IDE die mir 
das generiert. Ich verwende die Doxygen GUI Version 1.7.1

von Rolf M. (rmagnus)


Lesenswert?

Ach richtig, die Doxygen-GUI gab's ja auch noch. Ok, dann sind die Haken 
genehmigt. ;-)

Hansbär schrieb:
> Kann mir noch jemand sagen,
> wie man den Reiter ganz erstellt, der das Projekt in seiner
> Verzeichnisstruktur darstellt und in der man die Files direkt öffnen
> kann?

Das kenne ich bisher noch nicht.

von Hansbär (Gast)


Lesenswert?

Rolf Magnus schrieb:
> Ach richtig, die Doxygen-GUI gab's ja auch noch. Ok, dann sind die Haken
> genehmigt. ;-)
>
> Hansbär schrieb:
>> Kann mir noch jemand sagen,
>> wie man den Reiter ganz erstellt, der das Projekt in seiner
>> Verzeichnisstruktur darstellt und in der man die Files direkt öffnen
>> kann?
>
> Das kenne ich bisher noch nicht.

Das hab ich jetzt auch endlich gelöst:

SHOW_FILES             = YES
SHOW_DIRECTORIES       = YES

das finde ich auch super praktisch...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.