Forum: Compiler & IDEs AVR Studio 5/Debug: No Source Available


von Thomas B. (mrburns)


Angehängte Dateien:

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!

von Andreas H. (andreas_h16)


Lesenswert?

Dein Source Code wurde wahrscheinlich vom gcc wegoptimiert. Setz mal 
optimization level auf none ...

von Oliver (Gast)


Lesenswert?

Andreas H. schrieb:
> Dein Source Code wurde wahrscheinlich vom gcc wegoptimiert. Setz mal
> optimization level auf none ...

Zumindest ein main() sollte aber auch bei aggressivster Optimierung 
immer übrigbleiben.

Thomas Burns schrieb:
> Was mache ich falsch?

Nicht weit genug gelesen? Das Fenster bietet dir doch eine Problemlösung 
zum anklicken an.

Oliver

von Andreas H. (andreas_h16)


Lesenswert?

Ein paar mal F10 drücken, soll auch helfen ...

von Thomas B. (mrburns)


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!

von Jens (Gast)


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

von Stephan H. (stiph5)


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

von Franz-Juergen (Gast)


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
    }
}
#################################

von Franz-Juergen (Gast)


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

von Johann L. (gjlayde) Benutzerseite


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äß.

von Andreas H. (andreas_h16)


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

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.