Ich kann meinen Debugger nicht dazu bringen, bei Ausnahmen der ersten Chance nicht mehr abzubrechen
-
08-06-2019 - |
Frage
Ich verwende Visual C++ 2003, um ein Programm remote über TCP/IP zu debuggen.
Ich hatte die Win32-Ausnahme c00000005 „Zugriffsverletzung“ so eingestellt, dass sie beim Auslösen in den Debugger einbricht.Dann setze ich es zurück, um "übergeordnete Einstellung zu verwenden". Die Einstellung für die Eltern, Win32 -Ausnahmen, besteht darin, weiterzumachen, wenn die Ausnahme ausgelöst wird.
Wenn ich nun das Programm debugge, bricht es jedes Mal ab, wenn diese Ausnahme ausgelöst wird, und ich muss auf „Weiter“ klicken, damit das Debuggen fortgesetzt werden kann.Wie schaffe ich es, dass es nicht mehr so kaputt geht?
Lösung
Ich möchte unterstützen Will Deans Antwort
Eine Zugriffsverletzung klingt nach einem tatsächlichen Fehler in Ihrem Code.Ich würde nicht erwarten, dass die zugrunde liegende C/++-Laufzeit intern auslöst und abfängt.
Mit der Funktion „First-Chance-Exceptions“ können Sie mit dem Debugger Dinge abfangen, die im Code „gefangen“ werden, und einen Blick darauf werfen.Wenn es nichts gibt, das diese Ausnahme „abfängt“ (was Sinn macht, warum um alles in der Welt sollten Sie Zugriffsverletzungen abfangen und ignorieren?), dann wird der Debugger ausgelöst, unabhängig davon, welche Optionen Sie möglicherweise festgelegt haben.
Andere Tipps
Ist dies eine Ausnahme, die Ihr Code tatsächlich behandeln würde, wenn Sie ihn nicht im Debugger ausführen würden?
Strg+Alt+E (oder Debug\Exceptions)
Von dort aus können Sie auswählen, welche Ausnahmen brechen.