Hallo, mir ist nun schon öfter vorgekommen, dass breakpointe in bestimmten Zeilen während dem debuggen manchmal nicht ausgeführt werden können. Aktuell sitze ich gerade am AVR32 FREERTOS und versuche einfach nur die PWM Funktion der LED zu debuggen. Das die Funktion richtig läuft, sehe ich anhand der LED. Nur innerhalb dieser Funktion durch zu steppen geht nicht. Beim breakpoint wird zwar angezeigt,dass er nicht ausgeführt werden kann (durch einen nicht ausgefüllten, roten Kreis im AVRstudio), aber nicht warum. Versuche ich hinein zu springen, wird dieser Teil übersprungen. Das Problem ist mir auch schon bei Chips anderer Hersteller aufgefallen und ich wollte jetzt endlich mal nachhaken woran das liegt. Ich hoffe jemand hat einen Tipp. Um die Ursache ein zu grenzen, habe ich die Anzahl der breakpoints auf einen reduziert und die Optimierung für den compiler auf 0 gesetzt.
Hast du die Optimierungen ausgeschalten? Es kann sein, dass der Compiler einfach etwas wegoptimiert und wenn du deinen Breakpoint auf eine wegoptimierte Codezeile setzt, dann kann man da natürlich nicht anhalten. Gruß Oliver
Hallo, es ist auch möglich, dass Debug-Informationen fehlen - wenn du z.B. fertige Library-Funktionen benutzt. Üblicherweise kann man den Sourcecode mit oder ohne Debug-Infos übersetzen, weil man diese ja nicht mit dem fertigen Produkt ausliefern will, und wenn du keinen Sourcecode hast, erübrigt sich die Frage sowieso. Dann kennst du, und auch das System, nur den Einspringpunkt, nicht die einzelnen Zeilen oder Anweisungen. Gruss Reinhard
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.