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!
Dein Source Code wurde wahrscheinlich vom gcc wegoptimiert. Setz mal optimization level auf none ...
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
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!
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
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
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 } } #################################
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
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äß.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.