www.mikrocontroller.net

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


Autor: Hansbär (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Timmo H. (masterfx)
Datum:

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

Autor: Hansbär (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-/ ?

Autor: Hansbär (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Brumbär (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rolf Magnus (rmagnus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hansbär (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hansbär (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht 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:
#---------------------------------------------------------------------------
# Configuration options related to the dot tool   
#---------------------------------------------------------------------------
CLASS_DIAGRAMS         = YES
HIDE_UNDOC_RELATIONS   = YES
HAVE_DOT               = YES
CLASS_GRAPH            = NO
COLLABORATION_GRAPH    = YES
GROUP_GRAPHS           = YES
UML_LOOK               = YES
TEMPLATE_RELATIONS     = NO
INCLUDE_GRAPH          = YES
INCLUDED_BY_GRAPH      = YES
CALL_GRAPH             = YES
CALLER_GRAPH           = YES
GRAPHICAL_HIERARCHY    = YES
DIRECTORY_GRAPH        = YES
DOT_IMAGE_FORMAT       = png
DOT_PATH               = D:/graphviz-win-2.8.bin/graphviz-2.8/bin
DOTFILE_DIRS           = 
MAX_DOT_GRAPH_WIDTH    = 1024
MAX_DOT_GRAPH_HEIGHT   = 1024
MAX_DOT_GRAPH_DEPTH    = 1000
DOT_TRANSPARENT        = NO
DOT_MULTI_TARGETS      = NO
GENERATE_LEGEND        = YES
DOT_CLEANUP            = YES

Autor: Hansbär (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Rolf Magnus (rmagnus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hansbär (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rolf Magnus (rmagnus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hansbär (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.