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