Sposób użycia
Najczęściej, informacją jaką chcemy uzyskać dzięki programowi OBJDUMP jest adres symbolu funkcji bądź etykiety w programie. Dzięki takiej informacji możemy określić w jakim miejscu pamięci komputera zostanie zawarta dana zmienna lub procedura, i możemy odpowiednio ustawić parametry debuggera w celu weryfikacji poprawności działania.
Aby uzyskać adres etykiety tablicy page_dir_addr z pliku obiektowego tworzonego systemu operacyjnego kernel, należy wykonać instrukcję:
W komendzie tej zastosowany został również program filtrujący grep. Jego zadanie polega na pobraniu ze standardowego strumienia wejściowego ciągu tekstowego i po przepuszczeniu przez filtr przesłanie go na wejście strumienia wyjściowego. W tym przypadku grep wyświetla tylko linie posiadające fragment odpowiadający masce page_dir.
Wynikiem pracy wykonanej instrukcji jest lista linii, które zawierają adres pod jakim występuje interesująca nas instrukcja, nazwa sekcji oraz inne dane. W tym przypadku wiemy, ze tablica page_dir_addr znajduje się pod adresem 0x108000 w sekcji .bss.
Innym zastosowaniem programu OBJDUMP jest disassemblacja plików obiektowych w celu zapoznaniem się z kodem interesujących nas procedur. Znajomość kodu assemblera często znacznie ułatwia orientacje podczas debuggowaniu programów.
Aby uzyskać kod assemblera pliku obiektowego sleep.o należy wykonać instrukcję:
Jeżeli mamy do disassemblacji plik obiektowy, który składa się z większej ilości procedur, należy zastosować dowolny program do przeglądania plików potrafiący korzystać z danych ze strumienia wejściowego. Przykładem takiego programu może być program less.