Hallo zusammen, ich verwende Atmel Studio 7. Wenn ich in Schleifen und bei der If-Bedingung einen Haltepunkt setze, kann dieser nicht erreicht werden. Ich erhalte die Meldung: Haltepunkkt wird momentan nicht erreicht Woran liegt das? Vielen Dank und Grüße datatom
Versuche zunächst per Compiler-Option die Optimierung auf Null zu setzen.
Thomas H. schrieb: > Ich erhalte die Meldung: Haltepunkkt wird momentan nicht erreicht > > Woran liegt das? Schienenersatzverkehr? Herbert
Ich empfehle die Optimierung auf 'optimized for debugging'. Wenn ich soe ganz deaktiviere, dann bekomme ich komische Fehler. Bei der Einstellung Optimized for debugging nicht.
Wenn der Compiler ohne Optimierung komische Dinge tut, sollte man sich seinen Quelltext genauer anschauen - das deutet nämlich auf Fehler hin.
Wenn es den im Code nicht gibt. Warum, das steht im Quelltext.
Jim M. schrieb: > Wenn der Compiler ohne Optimierung komische Dinge tut, sollte man sich > seinen Quelltext genauer anschauen - das deutet nämlich auf Fehler hin. Die Haltepunkte dieser Schleife wurden nicht erreicht: for(i = 0; i <= 25; i++) { check = memcmp(USART0_RxBuf_global, String_CREG_value, i); if(check == 0) { connected = 1; } else { connected = 0; } } Ich habe die Variablen beim debuggen überwacht. Sie hatten jeweils den Wert "unknown location". Erst als ich die Variablen aus der Funktion ausgelagert habe, konnte ich die Haltepunkte erreichen. Also stimmt das wohl mit dem Fehler. Aber wieso? Die Variablen sind folgendermaßen angelegt: int connected; int check = 1; int i;
Hi Tom, du musst lernen deine Probleme in Teilprobleme zu splitten. Weißt du eigentlich, was an den beiden Pointern des Compares steht? Warum vergleichst du erst ein Zeichen und dann immer mehr? Also erst mal die 2 Strings testweise selbst definieren und dann die Codeausführung schon vor dem ersten Aufruf schrittweise durchführen. Dann siehst du, was los ist. Optimierung musst du abschalten, sonst fehlen dir Codeteile, wenn dein Compiler Wege sieht, unsinnige Abfragen von dir wegzuoptimieren.
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.