Forum: Compiler & IDEs avr-gcc und Zeilennummern


von Uhu U. (uhu)


Lesenswert?

Gibt es bei avr-gcc eine Möglichkeit die Zuordnung von Codeadresse zu 
Quelldatei+Zeilennummer als Liste auszugeben?

: Verschoben durch User
von Olaf D. (Firma: O.D.I.S.) (dreyero)


Lesenswert?

Hi,

die direkte Zuordnung von Zeilennummern weiss ich nicht.
Aber Du kannst eine Datei erstellen, die den Sourcecode und den 
Assemblercode enthällt:

avr-objdump -h -S prog.elf > prog.lss


Gruß
Olaf

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Denk immer dran, dass solche eine Zuordnung nicht eindeutig ist. Eine 
Zeile Quellcode ergibt mehr als einen Befehl in der CPU, und es spricht 
grundsätzlich nichts dagegen, dass der Compiler die Befehle 
„verwürfelt“, du also bspw. abwechselnd Befehle der einen und der andere 
Quellcodezeile abarbeitest.

von S. R. (svenska)


Lesenswert?

Es gibt avr-addr2line, das übersetzt eine Adresse in Datei:Zeile.

von Uhu U. (uhu)


Lesenswert?

Jörg W. schrieb:
> Denk immer dran, dass solche eine Zuordnung nicht eindeutig ist.

Weiß ich, ich programmiere nicht erst seit gestern auch asm.

> dass der Compiler die Befehle „verwürfelt“,

Kenn ich, ja, das ist vor allem bei optimiertem Code ziemlich unschön, 
wenn man damit debuggen will - aber darum geht es mir gar nicht.

von Uhu U. (uhu)


Lesenswert?

Olaf D. schrieb:
> die direkte Zuordnung von Zeilennummern weiss ich nicht.

In dem .lss sind keine Zeilennummern. Mit avr-addr2line kann man zu 
einzelnen Adressen File+Zeile abfragen - das spart die Liste und das 
Suchen darin. Als Eingabe geht der .elf-File.

Beitrag #5800803 wurde vom Autor gelöscht.
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.