Studio 6.0 einzelschritt debuger

#4716941
Lesenswert?

Hallo,

Ich hätte mal ne Frage. Trotz Hilfe Menü blicke ich nicht durch bzw. 
kann ich es mir nicht einstellen. Und zwar möchte ich mir gerne in einem 
Fenster Ergebnisse im Einzelschritt meiner variablen anzeigen lassen.

int a = 42;         jetzt  soll es mir 42 anzeigen. dann einen schritt 
weiter
int b = 5 + a;      und hier das ergebnis

geht das überhaupt bei Atmel Studio 6.0 . Wenn ja könnte mir das bitte 
jemand zeigen ?

grüsse huber

1
/*
2
 * debuggen.c
3
 *
4
 * Created: 12.09.2016 19:15:35
5
 *  Author: Daniela Weinhart
6
 */ 
7

8

9
#include <avr/io.h>
10

11
int main(void)
12
{  int a = 42;
13
  int b = 5 + a;
14
  
15
    while(1)
16
    {
17
        //TODO:: Please write your application code 
18
    }
19
}
Gast #4716970
Lesenswert?

Deaktiviere Optimierungen mit -O0, damit der compiliert Code möglichst 
dem Quelltext entspricht. Variablen und Berechnungen, die nicht 
verwendet werden schmeißt der Compiler allerdings trotzdem noch raus. 
Das kannst du umgehen, indem du den Wert der Variable in ein i/o 
Register (z.b. porta) schreibst.
#4720528
Lesenswert?

Mahlzeit,

also da ich nur einen ISP mk2 Programmer habe kann ich nur Simulieren.

- kann ich überhaupt Zuweisungen im Simulationsmodus simulieren?

so wie ich das jetzt verstanden habe gehe ich wie folgt vor.:

1. bei dem no tool Button, entweder den Programmer oder Simulator 
auswählen, ich wähle Simulator.

2.  danach drücke ich Debugg and break (alt+F5) Button

3. nun ist der gelbe Pfeil nach der main bei dieser { klammer aber nicht 
bei meinen Zuweisungen.

4. dann könnte man jetzt einen Breakpoint setzen zb. bei int a = 42; und 
den grünen Play (F5) button drücken.

und jetzt würde ich gerne im fenster links unten unter locals  Name  a 
Wert 42 sehen

jetzt den step into (F11) Button drücken dann sol er mir den nächsten 
namen und wert in zeile 2 anzeigen usw...

wie oben schon gsagt wurde. Wird das an der Optimierungs Einstellung 
liegen die sollte ich auf low setzen. Aber ich habe immer noch nicht 
raus gefunden wie ich dort hin komme. könnte mir bitte jemand weiter 
helfen?

1
/*
2
 * GccApplication21.c
3
 *
4
 * Created: 15.09.2016 11:32:56
5
 *  Author: Huber
6
 */ 
7

8

9
#include <avr/io.h>
10

11
int main(void)
12
{
13
  
14
     int a = 42;
15
       int b = 3*a +7;
16
       int d = a + b;
17
   
18
    while(1)
19
    {
20
       
21
        //TODO:: Please write your application code 
22
    }
23
}
#4720691
Lesenswert?

Stefan U. schrieb:
> Deaktiviere Optimierungen mit -O0, damit der compiliert Code möglichst
> dem Quelltext entspricht.

also das habe ich jetzt endlich gefunden und -o0 gestellt.

kann mir nicht doch jemand sagen wie es geht mit den variablen anzeigen, 
ohne etwas in porta oder ähnliches zu schreiben.

denn z.b Ti MSP430 Workbench geht es zb. auch so wie ich das geschrieben 
habe. Wenn der Optimierer ausgeschaltet ist. Dann kann ich einzelschritt 
machen und im local Ansichtsfenster zeigt es mir Name Wert und Typ an.
Gast #4720832
Lesenswert?

Huber M. schrieb:
> - kann ich überhaupt Zuweisungen im Simulationsmodus simulieren?

Ja, ja, ja, ja, ja ... ja.

Huber M. schrieb:
> 2.  danach drücke ich Debugg and break (alt+F5) Button

Nein, danach setzt Du einen Break-Point auf die erste Initialisierung 
(Zuweisung) - erst danach startest Du den Debugger

Huber M. schrieb:
> 3. nun ist der gelbe Pfeil nach der main bei dieser { klammer aber nicht
> bei meinen Zuweisungen.

Wenn Du den Break-Point richtig setzt bist Du dann bei der ersten 
Initialisierung (Zuweisung)

Mit Einzelschritt geht's weiter ...

Dieter F. schrieb:
> Bist Du der englischen Sprache einigermaßen mächtig?
>
> Dann schau mal nach AVR Studio Simulator ...
Gast #4720939
Lesenswert?

Habe es jetzt mal ausprobiert.

"Debug + break" geht auch - mache ich halt nie, weil ich immer einen 
definierten Einsprung haben will ...

Dann erstmal alle zu untersuchenden Variablen (sofern nicht schon 
geschehen) mit der rechten Maustaste anklicken und per "add watch" der 
Beobachtungsliste zufügen.

Dort kannst Du per rechtem Mausklick auf die "Value"-Spalte Hexadezimale 
oder Dezimale Anzeige der Variableninhalte auswählen.

Dann mit F11 (Step into / Einzelschritt) weiter ... und die Veränderung 
der Werte beobachten ...
Gast #4720964
Lesenswert?

Ach sorry, ich habe ganz verpennt, dass sich die Frage auf Studio 6 
bezieht, meine Anleitung aber für 4.19 ist. Mein Buch wird Dir wohl kaum 
eine Hilfe sein. Tut mir Leid.

Ich würde mir jetzt gerne selbst ein -1 vergeben. Geht leider nicht.

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