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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top