Sie können es erreichen, indem man zuerst die Haltepunkte setzen und verwenden Sie dann den "Befehl innerhalb GDB und erwähnen alle Befehle, die ausgeführt werden sollten, wenn diese besonderen Haltepunkte treffen. So können wir auch unsere Debug-Sitzung automatisieren können.
(gDB) Befehl help
Set ausgeführt werden Befehle, wenn ein Haltepunkt erreicht wird. geben Breakpoint-Nummer als Argument nach "Befehle". Ohne Argument ist der ausgewählte Haltepunkt der letzte Satz. Die Befehle selbst folgen ab der nächsten Zeile. Geben Sie eine Zeile ein, die "Ende" enthält, um das Ende von ihnen anzuzeigen. Geben Sie "silent" als erste Zeile ein, um den Breakpoint stumm zu machen. dann wird keine Ausgabe gedruckt, wenn es getroffen wird, außer was die Befehle drucken.
(gdb) break main
Breakpoint 1 at 0x40113e: file thread.cpp, line 19.
(gdb) info b
Num Type Disp Enb Address What
1 breakpoint keep y 0x000000000040113e in main() at thread.cpp:19
(gdb) commands 1
Type commands for breakpoint(s) 1, one per line.
End with a line saying just "end".
>info locals
>print argc
>print argv
>backtrace
>end
(gdb) info b
Num Type Disp Enb Address What
1 breakpoint keep y 0x000000000040113e in main() at thread.cpp:19
info locals
print argc
print argv
backtrace
(gdb)
mögliches Duplikat von [Mehrere Befehle in gdb getrennt durch eine Art Begrenzer ';'?] (Http://stackoverflow.com/questions/1262639/multiple-commands-in-gdb-separted-by-some-sort Trennzeichen – ks1322