stack trace

Une définition du Jargon Français.
Aller à : Navigation, rechercher

Dr enus.png locution nominale, féminin.  [débogage]. Une trace de la pile (stack) des appels, autrement dit des informations révélant qui appela qui durant l'exécution d'un processus.

Par « qui » on entend ici « quelle fonction ou procédure ».

L'ordre des appels (qui appela qui?) est préservé et cela précise parfois tout ou partie des paramètres, résultats ainsi que codes de retour.

Elle est produite après ou pendant l'exécution et à des fins de génie inverse ou de débogage, en ce dernier cas parfois sans demande explicite (certains interpréteurs ou runtimes en produisent lorsqu'ils détectent un mauvais fonctionnement).

Des utilitaires révèlent les appels au système d'exploitation ou à ses bibliothèques (strace, ltrace...).

Synonyme « backtrace » et « traceback », qui désignent aussi l'action de demander ou d'obtenir une stack trace.

Exemple (adapté et simplifié):

 "toto.c", ligne 3333, ouvre_fichier('configuration.dat') : ERREUR, fichier introuvable
   "utis.c", ligne 4242, lit_parametres('configuration.dat')
     "toto.c", ligne 24, main()

Cette stack trace révèle que l'exécution de la fonction principale main (sens 2) a commencé, que son code source se trouve dans le module (sens 4) nommé « toto.c », qu'une forme placée dans sa ligne 24 appela une fonction nommée « lit_parametres » dont le module « utis.c » abrite le code source, en lui communiquant l'argument « configuration.dat », puis qu'une forme placée dans la ligne 4242 de cette dernière appela « ouvre_fichier » qui a retourné un code d'erreur associé au libellé « ERREUR, fichier introuvable ».