AVR Studio 5/Debug: No Source Available

#2268128
Lesenswert?

Hallo,

ich versuche mit dem AVR Studio 5 mein erstes Programm zu debuggen.
Mein Programm ist eine einfache Zählschleife.
Als Debugger habe ich den "AVR Simulator" genommen.
Wenn ich nun auf Debug-->Start debugging and Break klicke, kommt ein 
Fehler:
"No Source Available" (siehe auch angehängtes Bild).

Was mache ich falsch?

Vielen Dank für Eure Hilfe!
Angehängte Dateien:
#2277218
Lesenswert?

Hallo,

danke erstmal für die Antworten hier, aber ich kriege das nicht hin :-(.

Hier ist mein Code:

#include <avr/io.h>

#ifndef F_CPU
#define F_CPU 16000000UL     /* Quarz mit 16MHz */
#endif

#include <util/delay.h>

int main(void)
{
  DDRC = 0xFF; // Alle auf Ausgang

  while(1)
    {
    PORTC = 0x00;
    _delay_ms(1000);
    PORTC = 0xFF;
    _delay_ms(1000);
    }
}

Wenn ich das nun debugge, erscheint eine neuer Tab, darin steht:

"No disassembly available"

Die Meldung "No Source code" kommt nicht mehr, weiß aber nicht warum...

Wenn ich dann in dem Tab 'Disassembly' die Option 'Show code bytes' an- 
und wieder abschalte, erscheint der disassemblierte Code im Tab.
Wenn ich dann mehrmals F10 drücke sehe ich, der gelbe Pfeil geht immer 
tiefer, scheint etwas auszuführen.
Dann irgendwann erscheint 'Disassembly cannot be displayed in run mode".

Ich krieg es einfach nicht hin, diesen einfachen Code zu debuggen.
Kann mir jemand Schritt für Schritt sagen, was ich machen muss?

Danke!
Gast #2278003
Lesenswert?

Hi Thomas,

habe heute auch auf AVRStudio 5 umgestellt und kämpfe zum ersten Mal mit 
C-Code. Bei mir läuft das Debuggen nur wenn die Konfiguration auf Debug 
und nicht auf Release steht. Der Unterschied in den beiden 
Konfigurationen ist offensichtlich das Debug Level und die Art der 
Optimierung. Bei Debug-Konfiguration steht es bei mir auf Default (-g2), 
bei Release auf none. Wenn ich an der Einstellung rumspiele bekomme ich 
auch den Fehlertab mit der Meldung "no source code available". 
Einstellen kannst Du das Ganze unter Project --> Properties und dort 
unter Debugging. Bei mir funktioniert nur die Einstellung -g2.
Viel Glück,

Jens
#2418734
Lesenswert?

Hey Leute,
habe das gleiche Problem. Mit dem Debuggen klappt es zwar hier und da 
wenn ich die oben genannten Einstellungen verändere, jedoch wenn ich 
dann das Programm ändere oder auch gleich lasse, und mit dem Debuggen 
nochmal  beginne kommt genau diese Fehlermeldung  „No Source Available“. 
Hat jemand von euch das Problem lösen können? Und wie?

LG Stephan
Gast #2577730
Lesenswert?

Hallo Zusammen

Nun habe ich ebenfalls dieses Problem, nachdem ich meine 
Entwicklungsumgebung schon mindestens 1/2 Jahr erfolgreich genutzt habe.

Umgebung:
- VISTA64
- Atmel AVR Studio 5 (Version: 5.0.1163)
- JTAGICE mkII via USB
- Hardware ATMEGA16 auf Pollin Funkboard bzw STK500

Nun liegt meine Hoffnung nahe, dass es eine Lösung gibt, da es keinen 
weiteren Eintrag seit November 2011 gibt.

Gruss
Franz-Juergen

#################################
#include <avr/io.h>
#define F_CPU 8000000UL

int main(void)
{
  int a;

  a = 0;
    while(1)
    {
    a = a + 1;
        //TODO:: Please write your application code
    }
}
#################################
Gast #2589162
Lesenswert?

Hallo Zusammen

zur weiteren Referenz, hier Information:
Ich habe offenbar mein Problem gelöst:
In Atmel AVR Studio 5 (Version: 5.0.1163)
ALT F7 -> Tools -> JTAG Clock auf die geringste Frequenz gezogen

Diese Lösung habe ich bei Studio 5.1.208 ebenfalls erfolgreich anwenden 
können.

Gruss
Franz-Juergen
Persönliche Seite #2589226
Lesenswert?

Andreas H. schrieb:
> Dein Source Code wurde wahrscheinlich vom gcc wegoptimiert.

Nö, der Compiler optimiert kein Sourcecode.
Die Quellen tastet der Compiler nicht an.

Falls Optimierung eingestellt ist, einen Debugger verwenden, der 
Debug-Format wie DWARF 4 für optimierten Code.

Falls der Debugger kein DWARF 4 unterstützt, geht's hier weiter:

Je weniger Informationen das Debug-Format transprortiert, je grottiger 
die Debug-Info Auswertung des Debuggers ist, desto weniger hilfreich 
wird das sein, was der Debugger anzeigt.

DWARF 4 transportiert beipielsweise die Information für var in
1
void foo (void)
2
{
3
    int var = 1;
4
}
die bei Optimierung im auszuführenden Code natürlich entfallen kann. Die 
entsprechende Debug-Info wird dennoch erzeugt.

Wenn der Debugger das nicht rafft -> Debugger ist nicht mehr zeitgemaäß.
#2589914
Lesenswert?

Johann L. schrieb:
> Andreas H. schrieb:
>> Dein Source Code wurde wahrscheinlich vom gcc wegoptimiert.
>
> Nö, der Compiler optimiert kein Sourcecode.
> Die Quellen tastet der Compiler nicht an.

War auch nicht so gemeint, daß die Quellen verändert werden, die Aussage 
bezog sich auf den erzeugten Code.

Allerdings habe ich schon bemerkt, daß auf Optimierung entfallenem Code 
keine Breakpoints gesetzt werden können (evtl. Abhängig von den 
Compiler-Einstellungen). Würde ja auch keinen Sinn machen.

MfG,
Andreas

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