Работает нормально. Я запустил отладчик на моем компьютере. Я должен был добавить
#include <string.h>
чтобы скомпилировать его. Я назвал файл debugger.c
. Вот шаги:
gcc -g debugger.c
gdb a.out
который запустит отладчик
GNU gdb 6.3.50-20050815
...
...
(gdb) run
Starting program: /Developer/stackoverflow/extern/a.out
Reading symbols for shared libraries +. done
Program received signal SIGABRT, Aborted.
0x00007fff88040886 in __kill ()
(gdb) backtrace
#0 0x00007fff88040886 in __kill ()
#1 0x00007fff880e0e4f in __abort ()
#2 0x00007fff880d5693 in __chk_fail ()
#3 0x00007fff8802f851 in __strcpy_chk ()
#4 0x0000000100000f04 in main (argc=1, argv=0x7fff5fbff958) at debugger.c:9
(gdb)
Редактировать: Извините, не видел, чтобы это было помечено c, а не c ++. Ничего не меняет запуск отладчика. Изменил это соответственно.
Edit2: Читая ваши правки, кажется, что ваша проблема не в том, что вы запускаете отладчик, а получаете информацию, где ваш код не удался Вы можете использовать backtrace
для достижения этого.