Zeilennummerierung beim HLL Debuggen

OP #1388724
Lesenswert?

Hallo Forum,
ich kämpfe seit einiger Zeit mit einem lästigen Problem beim Debuggen,
daher wollte ich mal fragen ob hier jemand ähnliches erlebt hat und 
evtl. die Ursache gefunden hat.
Ich nutze WINAVR -GCC und AVRStudio in den aktuellen Versionen.
In einem Projekt mit mehreren Files ergibt sich immer wieder in einer 
bestimmten Source ein Versatz zwischen der Anzeige des Debuggers und der 
aktuellen Position im Disassembling. Beim Durchsteppen steht der Zeiger 
im Source also manchmal 1-2 Zeilen unter dem zugehörigen Assmblercode.
Das ist sehr verwirrend und macht die Fehlersuche sehr mühsam,
da der Anzeige auf Sourceebene nicht getraut werden kann.
Ich compiliere mit -O0, ich habe sämtliche Umlaute und Sonderzeichen aus 
den Kommentaren gelöscht und dann etlich male umkopiert und umformatiert 
aber ich finde keine direkte Ursache.
Die Zeilenenden sind alle mit CRLF nach Windows Standard versehen.
Das Problem tritt sowohl mit JTAG-MKII als auch mit AVR-ONE auf,
es ist vermutlich durch die Zeilennumerierung des GCC begründet,
welche durch irgendwas durcheinandergerät.

Gruß
  Thomas
OP #1389946
Lesenswert?

Danke für die Antworten, es war aber leider nicht die Lösung dabei.
Es ist einfach so, daß im Disassemblerfenster normalerweise die HLL 
-Zeile über dem dazugehörigen Assemblercode erscheint. In diesem Fall 
aber ein Versatz auftrat. Der Cursor stand unter dem Aufruf einer 
Funktion aber diese wurde erst im nächsten Step wirklich aufgerufen, was 
am Disassembling leicht zu erkennen war. Das ist hier auch keine Folge 
von Optimierungen etc. da gcc mit -O0 nach meinen Erfahrungen ziemlich 
1:1 das in Assembler darstellt, was man in C vorgegeben hat. Es scheint 
irgendwie eine Folge von Preprozessormakros zu sein. Nach einigen 
Umstellungen und Weglassen von diversen Includefiles scheint es 
irgendwie behoben, aber leider nicht gekärt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren