Przyjmijmy następujące .gdbinit
:Czy istnieje sposób resetowania statystyk punktów przerwania w GDB?
break foobar
ignore 1 1
run
Program jest uruchamiany za pomocą gdb --args ./myprogram --argument1 --argument2
itp
Teraz, kiedy zacznę to za pierwszym razem wszystko jest cacy. Jeśli jednak wydam polecenie run
na monitorze (gdb)
w celu ponownego uruchomienia programu przy użyciu ostatnio znanego wiersza poleceń, linia ignore
po prostu nie zadziała.
Przyczyna jest oczywista. Za pierwszym razem I skończyć z
(gdb) info break
Num Type Disp Enb Address What
1 breakpoint keep y 0x000000000061ea6a in foobar at ../foobar.c:1173
breakpoint already hit 1 time
i ewentualne późniejsze bieg rozpoczyna się z tym, co pokazano na wartość X w breakpoint already hit X time
. Oczywiście ta wartość przekroczy limit określony przez ignore
.
Jak mogę zresetować statystyki punktów przerwania lub jeszcze lepiej, ale czy mogę automatycznie wykonać dla mnie run
?
Czym różni się to od wyjścia z gdb i rozpoczęcia kolejnej sesji? – dbrank0
@ dbrank0: * dlaczego * chcesz, żebym rzucił GDB? GDB jest na tyle sprytny, aby odczytać binarne i symbole, jeśli zostaną zaktualizowane poza nim, gdy następnym razem wyda 'run'. W rzeczywistości jest to reklamowane jako cecha GDB i modelowałem mój przepływ pracy wokół niego. – 0xC0000022L