Debugging avance maison : gestion du callstack et dumpage de la pile - C++ - Programmation
Marsh Posté le 18-12-2002 à 15:57:35
[citation=272190,1][nom]Joel F a écrit[/nom]Voila bon bref, j'essaye de me monter un systeme d'exception/error trappingn un peu couillu et j'aurais besoin de deux trucs que j'arrive pas a mettre en place :
1. Comment gérer une pile d'appel de fonctions ? A sabvoir lorsque une errreur est attrape, comment savoir dans quele fonction j'etais et d'ou je viens ?
2. dumpez le contenu binaire de la pile a un instant donné ?
[/quote]
tu prends l'adresse de la fonction courante et tu remontes par tranches de 32 bits.
Comme ta pile n'est pas structurée, t'es dans la merde pour savoir ce qu'il y a dedans. Bon courage
Marsh Posté le 18-12-2002 à 17:30:34
Bref c pas gagner ...
Pour le call stack, en fait je gere une liste chaine de string contenant le nom de la fonction.
A chaque fonction je commence par
Code :
|
En cas d'exception je sort un truc du style :
Code :
|
Mais bon pour la stack je vois pas, pourtant ya plein d'appli ki le font ...
Marsh Posté le 18-12-2002 à 18:32:25
Joel F a écrit : Bref c pas gagner ... |
elles instrumentent la pile et utilisent un truc du processeur qui leur donne la main à chaque appel de fonction.
avec les info filée par le compilo (-g ou -g3) elles te donnent de l'info
Marsh Posté le 18-12-2002 à 15:37:18
Voila bon bref, j'essaye de me monter un systeme d'exception/error trappingn un peu couillu et j'aurais besoin de deux trucs que j'arrive pas a mettre en place :
1. Comment gérer une pile d'appel de fonctions ? A sabvoir lorsque une errreur est attrape, comment savoir dans quele fonction j'etais et d'ou je viens ?
2. dumpez le contenu binaire de la pile a un instant donné ?
Le tout sous Win32 et/ou le plus plateform free possible
merci