Debugger et threads

Résolu
cs_LA_Tupac Messages postés 305 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 18 janvier 2012 - 10 juil. 2011 à 13:27
cs_LA_Tupac Messages postés 305 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 18 janvier 2012 - 10 juil. 2011 à 14:42
Salut tout le monde!
Je rencontre un soucis depuis des années et je me décide enfin à en parler car cette foi j'ai la pression et j'en ai marre
J'utilise codeblocks pour programmer qui inclut GDB7 en tant que debugger mais à mon souvenir l'Ide de microsoft ne marche pas mieux. En fait, comme le sujet l'indique, je ne parviens pas à débugger mes treads. Quand ils m'envoient un segfault ou autre, mon debugger ne m'indique pas la ligne, et l'adresse du call stack c'est du genre : func 0x00000000 in ??()
Les solutions que j'ai développé pour y palier sont:
1- le debugging à mano (avec des cout de partout). C'est galère et très moche.
2- réécrire un programme test avec le code du thread dans un main. Ça marche bien mais c'est beaucoup de boulot.

Alors si quelqu'un pouvait me donner une astuce, je l’appellerais maître
merci d'avance.

2 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
10 juil. 2011 à 14:02
Pour debugger un souci, ce n'est pas dur.
Tu as plusieurs threads. Pour les voir tu peux taper: "info thread"
Les threads sont numérotés. Pour changer de thread, tu tapes "thread <nb>", par exemple "thread 4". Tu fais ensuite un "bt" pour voir la callstack du thread.
Évidemment, ça aide pas mal si tu as compilé avec l'option "-g" (debug).

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
3
cs_LA_Tupac Messages postés 305 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 18 janvier 2012 1
10 juil. 2011 à 14:42
yessss!! merci beaucoup c'est parfait!
En ce qui concerne c::b, il faut tapper tout ça dans l'onglet "Debugger" de la fenêtre "logs&others".
Bien sur il faut lancer le soft en Debug (F8) et comme l'a dit Pingu, l'option -g doit être cochée à la compilation .
Encore merci Pingu ! en espérant que ce thread (forum) aide pas mal de monde...
0
Rejoignez-nous