Debuggen des MinGW-Programms mit gdb unter Windows, das nicht mit einem Assert-Fehler endet

8

Wie richte ich gdb im Fenster ein, damit ein Programm mit Assertionsfehlern nicht beendet werden kann? Ich beabsichtige, die Stack-Trace und Variablen im Programm zu überprüfen.

Beispiel: Ausführen dieses Programms test.cpp, kompiliert mit MinGW ' g++ -g test.cpp -o test ' in gdb:

%Vor%

Gibt:

%Vor%

Ich möchte in der Lage sein, das Programm sofort zu beenden, wie es der Debugger von Visual Studio und gdb unter Linux tut. Ich habe eine Suche durchgeführt und einige Sachen über Trapping-Signale gefunden, aber ich finde keinen guten Beitrag darüber, wie ich gdb dafür einrichten kann.

    
devil 24.04.2010, 17:27
quelle

3 Antworten

6

Setzen Sie einfach einen Haltepunkt beim Beenden:

(gdb) b exit

    
Paul R 24.04.2010, 17:53
quelle
6

Haben Sie herausgefunden, dass der Haltepunkt in die Datei .gdbinit mit den Zeilen:

eingefügt werden kann %Vor%

Dadurch entfällt die Eingabe von yes für Windows.

    
devil 25.04.2010 06:45
quelle
1

Mit recent (März 2017) msys2 mit gcc 6.3 und gdb 7.12.1 sollten Sie verwenden:

%Vor%

d. Verwende _exit und nicht exit . Ich erwarte, dass dies auch in anderen Fällen funktioniert, da ich erwarte, dass exit _exit aufruft, um tatsächlich zu beenden.

    
Klamer Schutte 17.03.2017 13:08
quelle

Tags und Links