Na przykład, wiem, że 0x46767f0 należy do NSString *, czy jest jakiś sposób, aby dowiedzieć się, czym jest NSString, aby pomóc mi znaleźć błędy, których szukam?GDB: Uzyskiwanie nazwy symbolu z adresu pamięci
Odpowiedz
wierzę szukasz:
info symbol <addresss>
drukowana nazwa symbolu, który jest przechowywany na addr adresowej. Jeśli żaden symbol nie jest zapisany dokładnie w addr, GDB wypisze najbliższy symbol i odsunięcie od niego.
Przykład:
(gdb) info symbol 0x400225
_start + 5 in section .text of /tmp/a.out
(gdb) info symbol 0x2aaaac2811cf
__read_nocancel + 6 in section .text of /usr/lib64/libc.so.6
Możesz przeczytać więcej na ten temat here.
Jeśli jest to zmienna stosu, nie ma sposobu, który jestem świadomy, aby to zrobić. W przeciwnym razie spróbuj p/a <pointer symbol or address>
i wypisze nazwę symbolu (lub przesunięcie do najbliższej nazwy symbolu).
PO 0x46767f0
wyśle wiadomość -description
do obiektu. To wydrukuje zawartość twojego NSString, ale proponuję użyć odpowiedzi Briana, by sprawdzić zawartość twojego adresu, zanim wyślesz losowe wiadomości na przypadkowe adresy.
gdb> lista * 0xAABBCCDD
który mówi, numer pliku i linii.
Tylko jeśli masz tyle szczęścia, że masz symbole debugowania ... – Equidamoid
- 1. GDB sprawdza uprawnienia pamięci
- 2. gdb nie może uzyskać dostępu Błąd adresu pamięci
- 3. Uzyskiwanie identyfikatora z adresu eksplodującego
- 4. Zrzut pamięci sformatowany jak xxd z gdb
- 5. R: Funkcje - Wyświetlanie nazwy środowiska zamiast adresu pamięci tego środowiska?
- 6. Uzyskiwanie nazwy kolumn z AbstractTableModel
- 7. Uzyskiwanie informacji o symbolu dla wartości przechowywanej w zmiennej wygodnej dla GDB
- 8. Uzyskiwanie lokalnego adresu IP
- 9. Uzyskiwanie pełnego adresu URL z adresu URL znakiem tyldy (~)
- 10. uzyskiwanie pełnej nazwy zespołu
- 11. Uzyskiwanie nazwy kraju użytkownika pochodzącego z adresu IP z Ruby on Rails
- 12. Uzyskiwanie nazwy nadrzędnej identyfikatora URI/adresu URL od nazwy absolutnej C#
- 13. Uzyskiwanie adresu URL hiperłącza z dokumentu Excela
- 14. Uzyskiwanie obrazu z adresu URL/serwera
- 15. Uzyskiwanie adresu Mac z kontenera Docker
- 16. Uzyskiwanie adresu IP żądania z piramidą
- 17. Jak używać adresu logicznego w gdb?
- 18. Uzyskiwanie nazwy aktywnego okna
- 19. Uzyskiwanie nazwy deklarowanej klasy?
- 20. Dołączanie symbolu skrótu "#" do adresu URL z działaniem formularza?
- 21. Uzyskiwanie wykorzystania pamięci procesowej
- 22. Uzyskiwanie obrazka profilu facebooka z adresu e-mail
- 23. Jak uniemożliwić GDB załadowanie symbolu debugowania dla (dużej) biblioteki?
- 24. Uzyskiwanie nazwy użytkownika z wartości HKEY_USERS
- 25. Uzyskiwanie adresu podstawowego procesu w systemie Mac OSX
- 26. Django: uzyskiwanie poprzedniego adresu URL
- 27. jquery uzyskiwanie adresu URL zadania:
- 28. gdb znajdź adres pamięci o numerze linii
- 29. Rozpoznawanie adresu IP nazwy hosta
- 30. Uzyskiwanie progresywnego wykorzystania pamięci GPU
Link "tutaj" nie działa. Czy ktoś może to zaktualizować? –