Angenommen, die folgende .gdbinit
:Gibt es eine Möglichkeit, Breakpoint-Statistiken in GDB zurückzusetzen?
break foobar
ignore 1 1
run
Das Programm begann gdb --args ./myprogram --argument1 --argument2
usw.
Jetzt verwendet, als ich das erste Mal starten um alles schön und gut ist. Wenn ich jedoch eine run
auf der (gdb)
Aufforderung ausgeben, um das Programm mit der letzten bekannten Befehlszeile neu zu starten, wird die ignore
Zeile einfach nicht wirksam.
Der Grund ist natürlich klar. Das erste Mal habe ich am Ende mit
(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
up Und jeder nachfolgende Durchlauf beginnt mit dem, was Wert ist in breakpoint already hit X time
für X gezeigt. Natürlich wird dieser Wert bereits den Grenzwert überschreiten, der durch ignore
festgelegt wurde.
Wie kann ich die Stats auf den Breakpoints zurücksetzen oder besser noch, wie kann ich run
veranlassen, das automatisch für mich zu tun?
Wie wäre das anders als das Beenden von gdb und das Starten einer anderen Sitzung? – dbrank0
@ dbrank0: * Warum * möchtest du, dass ich GDB beende? GDB ist intelligent genug, um die Binärdatei und die Symbole zu lesen, wenn sie bei der nächsten Ausgabe von 'run' außerhalb davon aktualisiert werden. In der Tat wird dies als ein Feature von GDB beworben und ich habe meinen Workflow darum herum modelliert. – 0xC0000022L