Forum: Compiler & IDEs Funktions-Adresse, Einsprungadressen


von Thomas (Gast)


Lesenswert?

Hallo,

ich versuche in einem größeren Programm ein Memory-Leak zu finden. Via 
diverser Tools wird mir die Funktions-Adresse angezeigt wo sich dieses 
Leak befinden könnte - jedoch komme ich jetzt von der Funktions-Adresse 
nicht auf den Funktions-Namen.
Gibt es Compiler-Optionen, damit ich evtl. während des Build-Vorgangs 
erfahre an welchem Offset welche Funktion sitzt - oder gibt es andere 
Möglichkeiten?

danke & gruß

von Bernhard R. (barnyhh)


Lesenswert?

Auch wenn hier weder der Processor noch der Compiler angegeben sind:
Im MAP File (Textoutput des Linkers) steht meistens, welche Funktion auf 
welche Adresse gelinkt ist.

Die Erzeugung des Mapfiles wird meistens durch eine Linker-Option ein- 
bzw. ausgeschaltet.

Bernhard

von klaus (Gast)


Lesenswert?

Sofern du eine .ELF Datei mit Symbolen hast, hilft dir
1
readelf -s myfile.elf

Enthält dann viele Einträge der Form
1
492: a0007184     8 FUNC    GLOBAL DEFAULT    2 read
wobei hier a0007184 die Adresse der Funktion "read" ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.