2009-11-05 7 views
0

Cela pourrait être une véritable question, mais je demande ici puisque j'étais hors de toute idée quand on m'a posé cette question dans une interview. Comment pourrions-nous déboguer un thread qui a été créé par un autre thread? Disons qu'il existe un processus principal qui appelle la fonction pthread_create pour créer un processus thread qui n'est pas jointable, ce qui signifie que le processus principal et le processus thread nouvellement créé exécuteront leurs propres tâches et si nous commençons à déboguer le programme. Pouvons-nous naviguer vers le fil qui a été créé?Débogage d'un processus de thread à l'aide de gdb/dbx

merci d'avance.

Répondre

3

Vous pouvez attacher gdb à l'ensemble du processus, puis utiliser thread ops de gdb pour naviguer entre les threads. Il peut être utile d'imprimer l'identifiant du thread lorsque pthread_create le thread que vous voulez déboguer.

+0

+1. Je serais probablement paresseux et juste mis un point d'arrêt sur le point d'entrée du fil avant de mettre en marche le processus. Je suppose que cette approche n'aide que si vous avez déjà une idée de l'endroit où se trouve le problème. –

Questions connexes