W GDB, mogę użyć "info line func_name", aby uzyskać adres pamięci func_name, a następnie użyć "set $ PC = memory_address", aby rozpocząć debugowanie tej funkcji. Jak zrobić to samo w lldb? Z góry dziękuję!Jak znaleźć adres pamięci funkcji za pomocą lldb?
5
A
Odpowiedz
13
Polecenie w lldb to "wyszukiwanie obrazu". Myślę, że przykład "info func" < -> "wyszukiwanie obrazów" został ostatnio dodany do strony polecenia lldb/gdb - http://lldb.llvm.org/lldb-gdb.html
np.
(lldb) im loo -n puts
1 match found in /usr/lib/system/libsystem_c.dylib:
Address: libsystem_c.dylib[0x0000000000011d9a] (libsystem_c.dylib.__TEXT.__text + 69850)
Summary: libsystem_c.dylib`puts
(lldb)
mimo to pokazuje tylko ci offsetu w libsystem_c.dylib tutaj (0x11d9a) - aby zobaczyć rzeczywisty adres ładowania trzeba by użyć opcji „-v” do wyszukiwania obrazu, który pokaże zakres adresów, które umieszcza okładki. Czy można to zrobić bardziej bezpośrednio z tylnym notacji kleszcza w lldb,
(lldb) reg read pc
rip = 0x0000000100000f2b a.out`main + 11 at a.c:3
(lldb) reg write pc `(void(*)())puts`
(lldb) reg read pc
rip = 0x00007fff99ce1d9a libsystem_c.dylib`puts
OK musiałem rzucić puts(), ponieważ lldb potrzebne prototyp funkcji tutaj - nie bardzo wygodne, ale jeśli jest to jeden z własnych funkcji to nie jest potrzebne:
(lldb) reg write pc `main`
(lldb) reg read pc
rip = 0x0000000100000f20 a.out`main at a.c:2
Powiązane problemy
- 1. Jak znaleźć wycieki pamięci za pomocą visualvm
- 2. Jak znaleźć pochodną funkcji za pomocą c
- 3. Jak znaleźć adres końcowy funkcji w C progu?
- 4. Jak znaleźć wyciek pamięci w Java za pomocą JProfiler?
- 5. Jak znaleźć nazwy funkcji współczynników za pomocą regresji liniowej scikit?
- 6. Jak znaleźć wszystkie zera funkcji za pomocą numpy (i scipy)?
- 7. Jak znaleźć maksimum i minimum funkcji za pomocą Maxima?
- 8. Jak sprawdzić rzeczywistą klasę obiektu C++ za pomocą LLDB?
- 9. Jak wywoływać metody klasy w symulatorze iOS za pomocą lldb?
- 10. Jak otworzyć adres URL za pomocą skrótu za pomocą Selenium?
- 11. Jak uzyskać adres ethernetowy za pomocą Java?
- 12. Jak uzyskać adres funkcji?
- 13. Jak wydrukować adres funkcji?
- 14. Jak mogę uzyskać adres pamięci zmiennej JavaScript?
- 15. Android - Debugowanie wstępnie utworzonych bibliotek natywnych za pomocą lldb
- 16. LLDB instrukcja/dokumentacja
- 17. Wyodrębnianie funkcji za pomocą Javascriptu
- 18. Dynamicznie zmień adres AddThis za pomocą jQuery
- 19. Jak mogę wydrukować adres pamięci zmiennej?
- 20. Jak wydrukować adres pamięci listy w Haskell
- 21. LLDB Przerwa pod adresem
- 22. Jak zdobyć adres pamięci stosu Java?
- 23. Jak znaleźć zduplikowane nazwy za pomocą pand?
- 24. Jak znaleźć domyślne ograniczenie za pomocą INFORMATION_SCHEMA?
- 25. Jak znaleźć liczbę elementów za pomocą jQuery
- 26. Jak określić adres IP za pomocą klienta testowego Django?
- 27. Jak drukować adres funkcji członka w C++
- 28. Jak znaleźć adres URL linku za pomocą tekstu linku z XPath?
- 29. Zakoduj adres URL za pomocą Play 2
- 30. Sortowanie za pomocą funkcji porównanie funkcji