Forum: Mikrocontroller und Digitale Elektronik Cursor springt in AVR nach Programmstopp


von Jan-Henrik B. (vedaykin)


Lesenswert?

Guten Morgen,

wenn ich z.B. eine kleine Änderung im AVR-Code vornehme, diesen dann auf 
den uPc lade und anschließend stoppe, dann springt der Cursor im 
Programm an eine andere Stelle. Das treibt mich langsam in den Wahnsinn, 
da ich immer wieder im Programm die ursprünglich Stelle suchen muss. 
Kennt jemand eine Option, wie man den Cursor unabhängig davon macht, wo 
der Debugger das Programm beendet und an die enstprechende Stelle 
springt?

Ich hoffe Ihr könnt die Problemstellung nachvollziehen und habt einen 
Tipp, ich konnte in den Optionen nichts finden. Ich benutze AVR Studio 
5.0.

Grüße,

Jan

von Heinemann (Gast)


Lesenswert?

Nein, können wir nicht nachvollziehen. Der Cursor steht im Debugger 
immer da, wo er laut Programmlogik stehen sollte. Das muss natürlich 
nicht zwangsläufig die Stelle sein, wo du ihn gere hättest.

von Jan-Henrik B. (vedaykin)


Lesenswert?

Sich im Debugger z.B. Variablen anschauen ist ja auch eine ziemlich 
praktische Sache. Das rumspringen verlangsamt meiner Meinung nach aber 
den Arbeitsprozess, wenn man jedes mal wieder die betreffende Stelle 
suchen muss. Danke aber für Deine Unterstützung/Antwort.

Falls da noch jemand einen anderen Vorschlag hat, bin ich ganz Ohr.

Grüße,

Jan

von Karl H. (kbuchegg)


Lesenswert?

> wenn man jedes mal wieder die betreffende Stelle
> suchen muss.

Setz dir halt einen Breakpoint dort hin und lass das Programm laufen, 
bis es auf den Breakpoint aufläuft.

von tachtach (Gast)


Lesenswert?

Optimierung???

ich hatte schon viele lustige debuggereffekte wenn die Optimierung 
eingeschaltet ist ...

nur so als denkanstoss ...

von Jan-Henrik B. (vedaykin)


Lesenswert?

Hallo,

@Karl: Ich programmiere gerade Filter und sehe erst nach einigen 
Augenblicken, ob das Programm korrekt durchläuft. Bei einem Breakpoint 
würde das Programm nur einmal bis zu betreffenden Stelle durchlaufen. 
Das reicht mir nicht, um die Funktion zu testen/festzustellen.

@tachtach: Also ich habe jetzt die Optimierung O2 aktiviert, aber auch 
ohne Optimierung O0 tritt das gleiche Verhalten auf.

Ich hoffte das wäre per einfaches Häkchen setzen in den Optionen 
erledigt. Offensichtlich bin ich eine Minderheit die das nervt und ich 
muss damit wohl leben. Danke für die Hinweise.

von Karl H. (kbuchegg)


Lesenswert?

Jan-Henrik Bathelt schrieb:
> Hallo,
>
> @Karl: Ich programmiere gerade Filter und sehe erst nach einigen
> Augenblicken, ob das Programm korrekt durchläuft. Bei einem Breakpoint
> würde das Programm nur einmal bis zu betreffenden Stelle durchlaufen.
> Das reicht mir nicht, um die Funktion zu testen/festzustellen.

Dann lass es con dort mit F5 wieder weiterlaufen und weiter und weiter.

> Ich hoffte das wäre per einfaches Häkchen setzen in den Optionen
> erledigt. Offensichtlich bin ich eine Minderheit die das nervt

Ich versteh ehrlich gesagt nicht, was dich da jetzt nervt. Es ist ja 
wohl das normalste von der Welt, dass der Debugger beim Programmstart, 
zum Programmanfang scrollt, dort wo die aktive Zeile ist, wenn du mit 
einem Einzelschritt loslegst.

von Michael (Gast)


Lesenswert?

Jan-Henrik Bathelt schrieb:
> @Karl: Ich programmiere gerade Filter und sehe erst nach einigen
> Augenblicken, ob das Programm korrekt durchläuft. Bei einem Breakpoint
> würde das Programm nur einmal bis zu betreffenden Stelle durchlaufen.
> Das reicht mir nicht, um die Funktion zu testen/festzustellen.

Dann setz mal ein Breakpoint und klicke rechts darauf. Dort gibt es 
Trefferzahl. "Anhalten, wenn die Trefferzahl ein Vielfaches ist von:" 
oder "Anhalten, wenn die Trefferzahl größer oder gleich:" ist vllt. was 
für dich. Oder wie schon genannt "F5".

Gruß
Michael

von Jan-Henrik B. (vedaykin)


Lesenswert?

ahhhhh, danke Michael, das hilft defintiv weiter.

Grüße,

Jan

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.