Как настроить gdb для окна, чтобы оно не позволяло завершить работу программы с ошибкой подтверждения? Я намерен проверить трассировку стека и переменные в программе.
Например, запуск этой программы test.cpp, скомпилированной с MinGW 'g++ -g test.cpp -o test
' в gdb:
#include <cassert>
int main(int argc, char ** argv) { assert(1==2); return 0; }
Дает:
$ gdb test.exe
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-mingw32"...
(gdb) r
Starting program: f:\code/test.exe
[New thread 4616.0x1200]
Error: dll starting at 0x77030000 not found.
Error: dll starting at 0x75f80000 not found.
Error: dll starting at 0x77030000 not found.
Error: dll starting at 0x76f30000 not found.
Assertion failed: 1==2, file test.cpp, line 2
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
Program exited with code 03.
(gdb)
Я хотел бы иметь возможность остановить немедленное завершение программы, как это делает отладчик Visual Studio и GDB в Linux. Я выполнил поиск и нашел кое-что о сигналах перехвата, но не могу найти хороший пост о том, как настроить GDB для этого.