Repository navigation
gdb
Jaroslaw Piszczala edited this page May 16, 2019
·
3 revisions
Komendy w GDB można używać w wersjach skróconych co na tym krótkim spisie oznaczono pogrubieniem.
- run
- break - Ustawia tzw. breakpoint w wybranym miejscu. Wykorzystuje do tego nr lini, etykiete bądź nazwe funkcji.
- clear - Usuwa poprzednio założony breakpoint
- step - Robi kolejny krok przechodząc do następnej linii
- continue - Wznawia działanie programu
- print $reg - wyświetla wartość spod rejestru %reg. Wartość można formatować, do tego celu należy skorzystać z komendy print/f, gdzie f jest znakiem formatu (o - oct, d - dec, x - hex, c - char, f - float, t - binary)
- display $reg - wyświetla wartość spod rejestru przy każdym breakpointcie
- info reg - Informacje o wszystkich rejestrach
- info breakpoints - Informacje o wszystkich ustawionych breakpointach
Jeżeli co chwilę uruchamiacie GDB ustawiając te same breakpointy, bądź sprawdzacie ciągle te same informacje, to możecie to zautomatyzować uruchamiając narzędzie gdb z listą komend za pomocą
gdb -x gdb_command_list executable_program
Komendy wpisane bezpośrednio w pliku zostaną uruchomione automatycznie
b 10
b 64 if $esi>2Można także definiować własne funkcje. Dla przykładu posłużą mi dwie funkcje. Pierwsza z nich io wyświetla pierwsze 10 wartości buforów in oraz out, druga krok wykonuje krok i wyświetla wartości rejestrów %eax oraz %ebx
def io
x /10cb &in
x /10cb &out
end
def krok
s
print $eax
print $ebx
endLiteratura