Czy istnieje sposób ustawienia punktu przerwania w każdym wierszu kodu za pomocą GDB? Oczywiście nie chcę uderzać b *addr
dla każdej linii, więc zastanawiam się, czy istnieje szybki sposób na zrobienie tego.Ustaw punkt przerwania dla każdej linii w GDB
Edytuj Zwróć uwagę, że używam pliku binarnego utworzonego przez kogoś innego i nie mam dostępu do kodu źródłowego. Niestety ten plik binarny nie został skompilowany z flagą -g. Dlatego nie mogę po prostu przejść przez każdy wiersz kodu.
Dalsze Edit Jason zaznacza poniżej, można rzeczywiście pojedynczy krok poprzez kod tak długo, jak używać si
lub ni
, w przeciwieństwie do po prostu s
(krok) lub n
(obok). n
lub s
działa dobrze, jeśli kod źródłowy został skompilowany z -g, ale przechodzi przez linie kodu źródłowego, a nie przechodzi przez każdą instrukcję montażu, taką jak ni
lub si
w pliku binarnym skompilowanym bez -g .
Co chcesz zrobić na każdym kroku? Dla 'list': http://stackoverflow.com/questions/4362581/get-gdb-to-do-a-list-after-every-step –