[OSy] Jak zjistit z adresy instrukce jmeno funkce

Petr Tuma petr.tuma at dsrg.mff.cuni.cz
Sat Dec 1 09:33:27 CET 2007


Dobry den,

> Jak tedy zjistit, v ktere funkci se to zacyklilo? Predpokladam, ze to 
> pujde nejak vydolovat ze souboru kernel.map, ale netusim jak. Diky za 
> rady. VV

Viz predchozi maily, nejlepsi je prelozit kernel tak, aby vam zustala i 
tabulka symbolu, z te se to pak da zjistit. To se nejsnaze udela tak, ze 
misto binarniho formatu kernelu nechate linker vyrobit format ELF (popis 
jak na to byl v drivejsich mailech), ten tabulku symbolu (a pripadne 
dalsi ladici informace) obsahuje. Soubor ve formatu ELF sice nemuzete 
nacist do msimu (byl by potreba mnohem slozitejsi loader), ale klidne si 
ho muzete otevrit ve spouste jinych utilit pro praci s ELF (treba i v 
gdb) a prohlizet v nem adresy symbolu (ty jsou stejne jako v binarnim 
formatu kernelu, takze kdyz v msimu zjistite nejakou adresu tykajici se 
toho binarniho kernelu, vite, ze v ELF bude na stejne adrese totez).

Petr Tuma





More information about the NSWI004 mailing list