Próbuję uruchomić wiele poleceń w jednym wierszu, npJak uruchomić wiele poleceń w jednym wierszu?
(gdb) info threads; c
Args must be numbers or '$' variables.
Ale wygląda gdb nie obsługuje tak. Jakieś pomysły?
Próbuję uruchomić wiele poleceń w jednym wierszu, npJak uruchomić wiele poleceń w jednym wierszu?
(gdb) info threads; c
Args must be numbers or '$' variables.
Ale wygląda gdb nie obsługuje tak. Jakieś pomysły?
Zastosowanie define
polecenie, aby zdefiniować własne polecenia:
(gdb) define mycommand
Type commands for definition of "mycommand".
End with a line saying just "end".
>info threads
>c
>end
(gdb) mycommand
Szczegółowe informacje można odwołać: https://sourceware.org/gdb/onlinedocs/gdb/Define.html#Define.
gdb nie ma dla tego składni. Więc nie możesz tego zrobić.
Jeśli chcesz mieć możliwość uruchamiania sekwencji w puszkach, zobacz komendę "define".
Można to osiągnąć przez pierwsze umieszczenie punktów przerwania, a następnie użyć "polecenie wewnątrz GDB i wymienić wszystkie, które powinny pobiera wykonywane Kiedy tylko ten konkretny breakpoints uderza poleceń. W ten sposób możemy zautomatyzować naszą sesję debugowania, jak również.
(gdb) help polecenie polecenia
Zestaw do wykonania, gdy punkt przerwania jest trafiony. podać numer breakpoint jako argument po "polecenia". Bez argumentu docelowy punkt przerwania jest ostatnim zestawem. Komendy same się rozpoczynają od następnego wiersza. Wpisz wiersz zawierający "koniec", aby wskazać koniec. Daj "cichy" jako pierwszy wiersz, aby cisza została przerwana; wtedy żadne wyjście nie zostanie wydrukowane, gdy zostanie trafione, z wyjątkiem tego, co polecenia zostaną wydrukowane.
(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)
prawdopodobny duplikat [Wiele poleceń w gdb separted przez jakiś ogranicznik ';'?] (Http://stackoverflow.com/questions/1262639/multiple-commands-in-gdb-separted-by-some-sort -of-ogranicznik) – ks1322