IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

dessiner arbre de la structure chainée des appels


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut dessiner arbre de la structure chainée des appels
    bonjour,

    Existe t-il un logiciel qui permet de dessiner l'arbre de la structure chainée des appels d'un projet C (le top serait aussi qu'il puisse m'indiquer consommation mémoire que prend chaque fonction dans la taille de la pile) ?

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Doxygen permet de faire des graphes d'appel :
    http://www-scf.usc.edu/~peterchd/doxygen/.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    merci mais je n'arrive pas à l'utiliser => ça me liste juste certains de mes .h que j'ai dans mon projet : il faut faire quoi exactement ?

    voici sur quel genre de projet j'essaie de faire fonctionner Doxygen :
    http://www.microchip.com/stellent/id...pnote=en012117

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Alors, il faut jouer un peu avec la configuration de doxygen et avoir graphviz installé sur sa machine.

    Configuration :

    le minimum est (dans le fichier Doxyfile) :
    EXTRACT_ALL = YES
    HAVE_DOT = YES
    CALL_GRAPH = YES
    OPTIMIZE_OUTPUT_FOR_C = YES

    graphviz peut être trouvé sur ce site.

    EDIT:
    Doxygen peut être capricieux, il ne faut pas hésiter à supprimer le dossier html en cas d'erreur de génération de call graph.
    Dernière modification par Invité(e) ; 16/02/2009 à 13h33. Motif: Suppression de PJ

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    il y a du mieux mais ce n'est pas encore ça => j'ai le resumé des mes fonctions, structures, ... mais je n'ai toujours pas le graph : il doit bien s'afficher sur la page HTML ?

    1- j'ai installé Doxygen
    2- J'ai installé Graphviz
    3- j'ai créer un nouveau projet sous DOxygen (en utilisant le wizard) puis j'ai modifié le fichier Doxyfile
    4- j'ai lancer le wizard

    j'ai des erreurs pendant le lancement de Doxygen :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    Searching for include files...
    Searching for example files...
    Searching for images...
    Searching for dot files...
    Searching for files to exclude
    Searching for files to process...
    Searching for files in directory C:/an878
    Reading and parsing tag files
    Preprocessing C:/an878/ECAN.c...
    Parsing file C:/an878/ECAN.c...
    Preprocessing C:/an878/ECAN.h...
    Parsing file C:/an878/ECAN.h...
    Preprocessing C:/an878/ECANDemo.c...
    Parsing file C:/an878/ECANDemo.c...
    Building group list...
    Building directory list...
    Building namespace list...
    Building file list...
    Building class list...
    Associating documentation with classes...
    Computing nesting relations for classes...
    Building example list...
    Searching for enumerations...
    Searching for documented typedefs...
    Searching for members imported via using declarations...
    Searching for included using directives...
    Searching for documented variables...
    Building member list...
    Searching for friends...
    Searching for documented defines...
    Computing class inheritance relations...
    Computing class usage relations...
    Flushing cached template relations that have become invalid...
    Creating members for template instances...
    Computing class relations...
    Add enum values to enums...
    Searching for member function documentation...
    Building page list...
    Search for main page...
    Computing page relations...
    Determining the scope of groups...
    Sorting lists...
    Freeing entry tree
    Determining which enums are documented
    Computing member relations...
    Building full member lists recursively...
    Adding members to member groups.
    Computing member references...
    Inheriting documentation...
    Generating disk names...
    Adding source references...
    Adding todo/test/bug list items...
    Counting data structures...
    Resolving user defined references...
    Finding anchors and sections in the documentation...
    Combining using relations...
    Adding members to index pages...
    Generating style sheet...
    Generating index page...
    Generating page index...
    Generating example documentation...
    Generating file sources...
    Parsing code for file C:/an878/ECAN.c...
    Generating code for file C:/an878/ECAN.h...
    Parsing code for file C:/an878/ECANDemo.c...
    Generating file documentation...
    Generating docs for file C:/an878/ECAN.c...
    Generating call graph for function ECANInitialize
    Generating call graph for function ECANReceiveMessage
    Generating call graph for function ECANSendMessage
    Generating docs for file C:/an878/ECAN.h...
    Generating call graph for function ECANInitialize
    Generating call graph for function ECANReceiveMessage
    Generating call graph for function ECANSendMessage
    Generating docs for file C:/an878/ECANDemo.c...
    Generating call graph for function main
    Generating page documentation...
    Generating group documentation...
    Generating group index...
    Generating class documentation...
    Generating annotated compound index...
    Generating alphabetical compound index...
    Generating hierarchical class index...
    Generating member index...
    Generating docs for compound _BYTE_VAL...
    Generating docs for compound _CAN_MESSAGE_ID...
    Generating graphical class hierarchy...
    Generating namespace index...
    Generating namespace member index...
    Generating graph info page...
    Generating file index...
    Generating example index...
    Generating file member index...
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8c__incl.dot" -Tpng -o "_e_c_a_n_8c__incl.png"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8c__incl.dot" -Tps -o "_e_c_a_n_8c__incl.eps"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8c_b086cfb517b43ddedf1cfa642d605088_cgraph.dot" -Tpng -o "_e_c_a_n_8c_b086cfb517b43ddedf1cfa642d605088_cgraph.png"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8c_b086cfb517b43ddedf1cfa642d605088_cgraph.dot" -Tps -o "_e_c_a_n_8c_b086cfb517b43ddedf1cfa642d605088_cgraph.eps"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8c_ed0ebbd050e32d40289d3a9f8b20c515_cgraph.dot" -Tpng -o "_e_c_a_n_8c_ed0ebbd050e32d40289d3a9f8b20c515_cgraph.png"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8c_ed0ebbd050e32d40289d3a9f8b20c515_cgraph.dot" -Tps -o "_e_c_a_n_8c_ed0ebbd050e32d40289d3a9f8b20c515_cgraph.eps"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8c_6b0d1787e0e0405f1e5a4fa2adaa091f_cgraph.dot" -Tpng -o "_e_c_a_n_8c_6b0d1787e0e0405f1e5a4fa2adaa091f_cgraph.png"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8c_6b0d1787e0e0405f1e5a4fa2adaa091f_cgraph.dot" -Tps -o "_e_c_a_n_8c_6b0d1787e0e0405f1e5a4fa2adaa091f_cgraph.eps"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8h__incl.dot" -Tpng -o "_e_c_a_n_8h__incl.png"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8h__incl.dot" -Tps -o "_e_c_a_n_8h__incl.eps"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8h__dep__incl.dot" -Tpng -o "_e_c_a_n_8h__dep__incl.png"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8h__dep__incl.dot" -Tps -o "_e_c_a_n_8h__dep__incl.eps"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8h_b086cfb517b43ddedf1cfa642d605088_cgraph.dot" -Tpng -o "_e_c_a_n_8h_b086cfb517b43ddedf1cfa642d605088_cgraph.png"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8h_b086cfb517b43ddedf1cfa642d605088_cgraph.dot" -Tps -o "_e_c_a_n_8h_b086cfb517b43ddedf1cfa642d605088_cgraph.eps"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8h_b54029f60bde1e5ed2000cb328613087_cgraph.dot" -Tpng -o "_e_c_a_n_8h_b54029f60bde1e5ed2000cb328613087_cgraph.png"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8h_b54029f60bde1e5ed2000cb328613087_cgraph.dot" -Tps -o "_e_c_a_n_8h_b54029f60bde1e5ed2000cb328613087_cgraph.eps"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8h_6b0d1787e0e0405f1e5a4fa2adaa091f_cgraph.dot" -Tpng -o "_e_c_a_n_8h_6b0d1787e0e0405f1e5a4fa2adaa091f_cgraph.png"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_8h_6b0d1787e0e0405f1e5a4fa2adaa091f_cgraph.dot" -Tps -o "_e_c_a_n_8h_6b0d1787e0e0405f1e5a4fa2adaa091f_cgraph.eps"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_demo_8c__incl.dot" -Tpng -o "_e_c_a_n_demo_8c__incl.png"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_demo_8c__incl.dot" -Tps -o "_e_c_a_n_demo_8c__incl.eps"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_demo_8c_6288eba0f8e8ad3ab1544ad731eb7667_cgraph.dot" -Tpng -o "_e_c_a_n_demo_8c_6288eba0f8e8ad3ab1544ad731eb7667_cgraph.png"'
    Problems running dot: exit code=-1, command='dot', arguments='"_e_c_a_n_demo_8c_6288eba0f8e8ad3ab1544ad731eb7667_cgraph.dot" -Tps -o "_e_c_a_n_demo_8c_6288eba0f8e8ad3ab1544ad731eb7667_cgraph.eps"'
    Problems running dot: exit code=-1, command='dot', arguments='"graph_legend.dot" -Tpng -o "graph_legend.png"'
    *** Doxygen has finished
    CI-joint, mon fichier Doxyfile...
    Fichiers attachés Fichiers attachés

  6. #6
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Le path est il correctement configuré pour graphviz ?

    S'il ne l'est pas, on peut modifier cette ligne dans le Doxyfile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DOT_PATH               = "C:\Program Files\Graphviz 2.21\bin"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/07/2011, 16h59
  2. dessiner arbre en java question ?
    Par mortalius dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 05/11/2005, 00h31
  3. Modification à la chaine des noms de contrôle
    Par dde78 dans le forum Access
    Réponses: 3
    Dernier message: 29/09/2005, 16h24
  4. []Augmenter la taille de la pile des appels ?
    Par oncle ervil dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 10/05/2005, 09h29
  5. Chaine des caractères et factorielle
    Par ixterm dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 03/05/2005, 08h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo