Lubię, gdy GDB ustawia punkt przerwania, gdy zmienna równa się pewnej wartości, którą ustawiłem, próbowałem tego przykładu: #include <stdio.h> main() { int i = 0; for(i=0;i<7;++i) printf("%d\n", i); return 0; } Wyjście z GDB: (gdb) break if ((int)i == 5) No default breakpoint address now. (gdb) run Starting program: /home/SIFE/run …
Wiem, że możemy użyć kilku poleceń, aby uzyskać dostęp i odczytać pamięć: na przykład print, p, x ... Ale jak mogę zmienić zawartość pamięci w dowolnym określonym miejscu (podczas debugowania w GDB)?
Jestem poza docelowym plikiem wykonywalnym gdb i nie mam nawet stosu, który odpowiadałby temu celowi. I tak chcę zrobić jednoetapowo, aby móc zweryfikować, co się dzieje w moim kodzie asemblera, ponieważ nie jestem ekspertem w montażu x86. Niestety, gdb odmawia wykonania tego prostego debugowania na poziomie zestawu. Pozwala mi ustawić …
Mam funkcję, która jest wywoływana kilka razy i ostatecznie dochodzi do awarii. Nie chcę jednak ustawiać punktu przerwania w tej funkcji i zatrzymywać się po każdym wywołaniu, ponieważ będę tu przez lata. Słyszałem, że mogę ustawić counterw GDB punkt przerwania i za każdym razem, gdy punkt przerwania zostanie osiągnięty, licznik …
Mam wielowątkową aplikację, która jest bardzo stabilna na wszystkich moich komputerach testowych i wydaje się stabilna dla prawie każdego z moich użytkowników (w oparciu o brak skarg na awarie). Jednak aplikacja często się zawiesza dla jednego użytkownika, który był na tyle uprzejmy, aby wysyłać raporty o awariach. Wszystkie raporty o …
Breakpoint 1, 0x00007ffff7de8060 in __libc_start_main () from /usr/lib/libc.so.6 (gdb) r The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /home/firstlove/projects/org-ioslide/example/a.out Breakpoint 1, 0x00007ffff7de8060 in __libc_start_main () from /usr/lib/libc.so.6 (gdb) r The program being debugged has been started already. Start it …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.