2010-05-18 15 views
0

J'ai un qApp qui génère un défaut de segmentation uniquement lorsqu'un point d'arrêt est inséré dans le code (je peux le mettre à différents endroits) et seulement après 4-5 arrêts de point d'arrêt. Est-ce que j'ai un problème avec mon code ou est-ce un bug DBG? la méthode fait partie d'une classe QThread.qapps fonctionne bien mais breakpoint génère parfois une erreur de segmentation

Fondamentalement ce que j'ai fait est que j'ai pris l'exemple de mandlebrot, et ai 3 instances de celui-ci dans mon programme. Donc le programme ressemblerait à une fenêtre principale qui a 3 widgets mandbreches, l'un à côté de l'autre. Est-il possible que GDB ne supporte pas le débogage des sous-classes qthread qui sont instanciées plusieurs fois ou est-il dangereux pour les threads de le faire? Je n'ai aucun problème à l'exécution.

+0

duplication possible de [Puis-je toujours déboguer plusieurs instances d'un même objet qui est de type thread avec GDB?] (Http://stackoverflow.com/questions/2861876/can-i-always-debug-multiple-instances -of-a-same-object-that-is-of-type-thread-wit) –

Répondre

2

Il semble que le problème est que vous avez un accès non synchronisé à un objet dans votre code et les points d'arrêt vous permettent heureusement de voir le problème.

+0

voulez-vous dire plusieurs threads essayant d'accéder aux objets en même temps? –

+1

Oui, plusieurs threads. –

+0

En fait, au moment où cela se produit, rien en dehors de la classe n'interagit avec elle. Seul le constructeur est appelé et ceci sans aucune ressource externe à la classe elle-même. –