2

J'utilise Visual C++ 2003 pour déboguer un programme à distance via TCP/IP.Je ne peux pas obtenir mon débogueur pour arrêter de rompre sur les exceptions de la première chance

J'avais défini l'exception Win32 c00000005, "violation d'accès", pour percer dans le débogueur lorsqu'il est levé. Ensuite, je le remets à "Utiliser le paramètre parent". Le paramètre pour le parent, Win32 Exceptions, est de continuer lorsque l'exception est levée.

Maintenant, quand je débogue le programme, il casse chaque fois que cette exception est levée, me forçant à cliquer sur Continuer pour le laisser continuer le débogage. Comment est-ce que je peux arrêter de casser comme ça?

Répondre

4

Je voudrais soutenir Will Dean's answer

Une violation d'accès ressemble à un bug réel dans votre code. Ce n'est pas quelque chose que je m'attendrais à ce que le sous-jacent C/++ Runtime soit lancé et attrapé en interne. La fonctionnalité 'first-chance-exceptions' vous permet d'intercepter les éléments qui sont "attrapés" dans le code, d'utiliser le débogueur et d'y jeter un coup d'œil. S'il n'y a rien d'attraper cette exception (ce qui est logique, pourquoi diable attraperiez-vous et ignoreriez-vous les violations d'accès?), Alors il déclenchera le débogueur indépendamment des options que vous avez définies.

+0

dommage que cela semble être le cas. Lors de l'attachement à des processus tiers (comme skype), ils ont parfois des threads qui meurent apparemment avec des exceptions non interceptées, et vous ne pouvez pas les * non * les attraper. Ennuyeux! – rogerdpack

0

Ctrl +Alt +E (ou Debug \ Exceptions)

De là, vous pouvez sélectionner les exceptions briser.

5

Est-ce une exception que votre code gérerait réellement si vous n'exécutez pas dans le débogueur?