Pytania otagowane jako gdb

Użyj tego znacznika w przypadku problemów związanych lub z udziałem GDB, standardowego debuggera systemu oprogramowania GNU.

4
GDB: przerwij, jeśli zmienna ma równą wartość
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 …
89 c  gdb 


3
Użycie gdb do jednoetapowego kodu asemblera poza określonym plikiem wykonywalnym powoduje błąd „nie można znaleźć granic bieżącej funkcji”
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ć …


8
Dlaczego GDB przeskakuje nieprzewidywalnie między wierszami i wypisuje zmienne jako „<zoptymalizowana wartość wyjściowa>”?
Czy ktoś może wyjaśnić to zachowanie gdb? 900 memset(&amp;new_ckpt_info,'\0',sizeof(CKPT_INFO)); (gdb) **903 prev_offset = cp_node-&gt;offset;** (gdb) **905 m_CPND_CKPTINFO_READ(ckpt_info,(char *)cb-&gt;shm_addr.ckpt_addr+sizeof(CKPT_** HDR),i_offset); (gdb) **903 prev_offset = cp_node-&gt;offset;** (gdb) **905 m_CPND_CKPTINFO_READ(ckpt_info,(char *)cb-&gt;shm_addr.ckpt_addr+sizeof(CKPT_ HDR),i_offset);** (gdb) **908 bitmap_offset = client_hdl/32;** (gdb) **910 bitmap_value = cpnd_client_bitmap_set(client_hdl%32);** (gdb) **908 bitmap_offset = client_hdl/32;** (gdb) **910 bitmap_value = cpnd_client_bitmap_set(client_hdl%32);** (gdb) …

4
Czy wyjątki „EXC_BREAKPOINT (SIGTRAP)” są spowodowane debugowaniem punktów przerwania?
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 …

1
Dlaczego adres __libc_start_main jest zawsze taki sam w GDB, mimo że włączony jest ASLR?
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 …
16 c  linux  gdb  libc  aslr 
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.