Haltepunkkt wird momentan nicht erreicht

OP #5145483
Lesenswert?

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
OP #5146202
Lesenswert?

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;
Gast #5146221
Lesenswert?

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.

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