Bonjour à tous,
j’ai un problème sous GDB 6.0 :
Je travaillais jusqu’alors avec une chaîne GNU V2.95.x sous Solaris 8 et dans le cadre d’un portage d’une grosse appli, nous avons dû passer sur la chaine GNU 3.3.2. Ce portage s’étant bien passé, j’ai fait le tour des outils “satellites” de façon à m’assurer de la continuité du service et c’est là que mon problème a émergé. Le debugger installé était le GDB 5.x mais malheureusement, il refusait de charger une application compilée sous GNU V3. Bon soit, j’ai demandé à l’admin. de m’installer le nouveau GDB, la version 6 donc. Là, impeccable. Le debugger charge bien l’appli et tout semble fonctionner correctement (pas à pas, breakpoint, consultations diverses, …). Oui, semble car une fonctionnalité assez essentielle se comporte “minablement” : le backtrace. Sous GDB, cette fonctionnalité permet d’avoir la pile d’appel (un classique, quoi). Par exemple j’ai le main qui appelle la fonction F1 qui appelle la fonction F2 qui elle même appelle la fonction F3. Un empilement (à partir du main) d’une profondeur de 4. Si je place un point d’arrêt sur la fonction F3 et que j’appelle le backtrace, j’ai bien l’état de la pile qui s’affiche sauf que je n’ai pas de visibilité plus lointaine que la profondeur de 2 ou 3 (je ne me souviens plus exactement). Autrement dit, je vois bien que la fonction F3 est appelée par F2 qui est elle même appelée par F1 mais ça s’arrête là. Impossible de savoir qui appelle F1 .
Bon ok, dans cet exemple c’est simple et on peut trouver l’info , mais dans une appli compliquée c’est déjà beaucoup plus emmerdant.
Quelqu’un aurait une idée pour “corriger” ce problème ?
Sous GDB, il y a un paramètre de configuration qui permet de contrôler cette visibilité (genre backtrace limit) mais il est bien placé à l’infini (zéro) et même si j’essaie de le forcer à 8 par exemple (style bug à la MS ^^ ), rien ne change (GDB ayant bien modifié son paramètre). C’est reloud cette histoire.
Y-a-t-il quelqu’un dans l’assistance qui aurait rencontré/contourné/corrigé ce pb ?
Merci pour votre soutien.
Ce message a été édité par Moktar le 23/04/2004