Czy ktoś może mi pomóc napisać program, który może czytać pliki DWARF i podaje mi nazwę pliku, numer linii i nazwę funkcji.Czytanie pliku DWARF w systemie Mac OSX
Odpowiedz
Co to jest plik DWARF? Być może pliki DWARF definiują funkcje jako funkcję (xxx) tak, jak robi to wiele języków. W tym przypadku, sugerujemy użycie grep -n -R "function.*(" /dwarf/*.DWARF
W specyfikacji KARŁOWATA-2 & KARŁOWATA-3 jest tutaj:
http://dwarfstd.org/dwarf-2.0.0.pdf
http://dwarfstd.org/Dwarf3.pdf
Jest przyzwoity biblioteki do odczytu plików karzeł tutaj:
http://reality.sgiweb.org/davea/dwarf.html
Możesz uzyskać i używać tej biblioteki do odczytu plików DWARF (czyta DWARF-2 i DWARF-3) lub możesz zajrzeć do kodu źródłowego, aby dowiedzieć się, jak napisać własny zestaw bibliotek/funkcji do wykonania Praca.
Możesz zajrzeć do avr-readelf w binutils. Funkcja display_debug_lines() w binutils/dwarf.c zajmuje się dekodowaniem informacji o teksturowaniu DWARF.
Ponadto, jak zasugerowano powyżej, można użyć libdwarf. To jest dobra robota ukrywania złożoności niskiego poziomu DWARF i pozwala skupić się na uzyskiwaniu danych.
Po skonfigurowaniu libdwarf z elfdescriptor i coraz struct Dwarf_Debug, można wykonać następujące czynności:
- trawers wszystkich jednostek kompilacji z dwarf_srclines()
- użytku dwarf_srclines() na każdej cu
- użyj dwarf_lineaddr() na każdym wpisie w tablicy zwróconej z dwarf_srclines()
- pamiętaj, aby użyć metody dwarf_dealloc() w odpowiednich miejscach.
- 1. php.ini Konfiguracja w systemie MAC OSX
- 2. Skróty klawiaturowe Eclipse w systemie Mac OSX
- 3. Obsługa błędów w systemie Mac OSX/iPhone w Delegacie aplikacji?
- 4. Dodaj lokalizację w Mac OSX
- 5. Uzyskiwanie adresu podstawowego procesu w systemie Mac OSX
- 6. Jak uzyskać statystyki karty sieciowej w systemie Linux/Mac OSX?
- 7. kolega. polecenia nie działa w systemie MAC OSX
- 8. Czy środowisko wykonawcze Java jest preinstalowane w systemie MAC OSX?
- 9. Konfigurowanie lokalnego serwera LDAP w systemie Mac OSX
- 10. Ustawianie rozmiaru kolejki komunikatów systemu V w systemie Mac OSX
- 11. Niepoprawna wersja terminala Java w systemie Mac OSX
- 12. NSFetchedResultsController Mac OSX kakao równoważne
- 13. Zablokuj/odblokuj mac osx
- 14. Czytanie plików z poziomu JAR nie działa w systemie Windows
- 15. fs.watch poprzez węzeł 0.5.9 na Mac OSX
- 16. Drukowanie Firemonkey na Mac OSX
- 17. Wyszukiwanie słowników systemu Mac OSX?
- 18. Numpy Zainstaluj Mac Osx Python
- 19. lokalizacja python na mac osx
- 20. dekoder jpeg niedostępny mac osx
- 21. Jakie są odpowiedniki TortoiseSVN na Mac OSX?
- 22. Jak zainstalować Bison na Mac OSX
- 23. Jak edytować $ PATH (.bash_profile) w systemie OSX?
- 24. Generowanie pliku .bundle z CMake na MAC OSX
- 25. Sprawdź wersję jednostki kompilacji DWARF
- 26. Nie można edytować pliku bash_profile na komputerze Mac OSX
- 27. Tomcat, Netbeans Mac OSX Lion
- 28. Instalacja BeautifulSoup na Mac OSX
- 29. Zwiększyć rlimit Mac OSX 10.8
- 30. Kopia zapasowa poleceń terminalu mac osx historia