OVH Cloud OVH Cloud

tracer l'arbre des appels

8 réponses
Avatar
Machbiole
bonjour à tous,

je récupère en maintenance un site web existant (php 4), et j'aimerai bien
faire le ménage dans les fichiers.php car j'ai l'impression que beaucoup de
procédures ne servent plus.
Existe-il un utilitaire (gratuit de préférence car procédure d'achat trop
longue) pour tracer l'arbre des appels des procédures php à partir des
fichiers existants ?

8 réponses

Avatar
Jean-Marc Molina
gratuit de préférence car procédure d'achat trop
longue


Excuse bidon rejeté par la court :).

pour tracer l'arbre des appels des procédures php à partir des
fichiers existants ?


Un débogueur, DBG en PHP, intégré à l'éditeur PHPEdit, français.

JM

Avatar
Delf
Machbiole wrote:

Existe-il un utilitaire (gratuit de préférence car procédure d'achat trop
longue) pour tracer l'arbre des appels des procédures php à partir des
fichiers existants ?


C'est pas plus simple de rajouter en debut de chaque fct un p'tit code
qui écroit le nom de la fct exécutée dans un fichier ?
Sauf s'il y trop de fcts :

--
Delf
www.snoworld.org

Avatar
Gabriel
Delf wrote:
Machbiole wrote:

Existe-il un utilitaire (gratuit de préférence car procédure d'achat trop
longue) pour tracer l'arbre des appels des procédures php à partir des
fichiers existants ?



C'est pas plus simple de rajouter en debut de chaque fct un p'tit code
qui écroit le nom de la fct exécutée dans un fichier ?
Sauf s'il y trop de fcts :

Perso j'ai découvert doxygen qui est très bien : il donne tous les

appels de fonctions et plein d'autres infos : vraiment très très bien !


Avatar
Jean-Marc Molina
Perso j'ai découvert doxygen qui est très bien : il donne tous les
appels de fonctions et plein d'autres infos : vraiment très très bien !


Doxygen c'est pour documenter son code pas pour « tracer » l'exécution d'un
script.

Sinon pour tracer il existe aussi un package PEAR.

JM

Avatar
Machbiole
"Gabriel" a écrit dans le message de
news:c92gsq$j4o$
Delf wrote:
Machbiole wrote:

Existe-il un utilitaire (gratuit de préférence car procédure d'achat
trop



longue) pour tracer l'arbre des appels des procédures php à partir des
fichiers existants ?



C'est pas plus simple de rajouter en debut de chaque fct un p'tit code
qui écroit le nom de la fct exécutée dans un fichier ?
Sauf s'il y trop de fcts :

Perso j'ai découvert doxygen qui est très bien : il donne tous les

appels de fonctions et plein d'autres infos : vraiment très très bien !


Merci pour ces pistes, je vais creuser.

ps : ajouter du code signifie aller dans chaque fichier.php (50 environs) et
il faut être sûr de parcourir toutes les branches du logiciel pour éliminer
avec certitude une procédure.



Avatar
Paul Delannoy
Gabriel a écrit:
[zappe]
Perso j'ai découvert doxygen qui est très bien : il donne tous les
appels de fonctions et plein d'autres infos : vraiment très très bien !
ca se trouve où ?

Merci

Avatar
Gabriel
Paul Delannoy wrote:
Gabriel a écrit:
[zappe]

Perso j'ai découvert doxygen qui est très bien : il donne tous les
appels de fonctions et plein d'autres infos : vraiment très très bien !


ca se trouve où ?
Merci


http://www.stack.nl/~dimitri/doxygen/


Avatar
Gabriel
Jean-Marc Molina wrote:
Perso j'ai découvert doxygen qui est très bien : il donne tous les


appels de fonctions et plein d'autres infos : vraiment très très bien !

Doxygen c'est pour documenter son code pas pour « tracer » l'exécution d'un
script.
Juste mais il est aussi capable de montrer quelle fonction appelle

quelle autre en utilisant le package graphviz
(http://www.research.att.com/sw/tools/graphviz/)

Comme cela est expliqué sur
http://www.stack.nl/~dimitri/doxygen/diagrams.html
"if CALL_GRAPH is set to YES, a graphical call graph is drawn for each
function showing the functions that the function directly or indirectly
calls."

et dans la partie doc, chaque fonction donne ses référencée par et
utilise telle ou telle fonction.

Mnt, je suis d'accord, ca ne trace pas, mais ca permet de savoir quelle
procédure est appelée par qui, laquelle ne l'est pas etc.. sans avoir
besoin de dérouler tous les cas d'utilisation du programme.

Voilà, sur ce bonne nuit :)