Merkwürdiges Debuger Verhalten ??
-
Hallo,
vielleicht weiss jemand mehr zu folgendem Problem:
void CProgramDlg::OnDataFailure(void) { MessageBox("Press OK to continue"); if (Unterprogram()==true) { empty = true; if (version == 0) { version = 1; } for (int k=0; k < 2048; k++) { readmemory[k] = 0; writememory[k] = 0; } writememory[0]=version; writememory[1]=255; writememory[2]=1; writememory[3]=0; writememory[4]=0; CWrite writedialog; writedialog.DoModal(); } else { OnOK(); } }
Das Problem: die Zeilen nach der For Next Schleife werden nur bei
writememory[4]=0 fortgesetzt und alles davor nicht.
Der Debuger sollte nun Aufschluss geben. Die Debugpunkte lassen sich setzen,
verschwinden aber nach starten des Programmes.
Es bleiben 2 Punkte übrig, bei
stickmemory[k] = 0; in der Schleife
writememory[4]=0; kurz vor dem DialogaufrufNun das komische, der Haltepunkt in der Schleife funktioniert nur einmal.
Der andere zeigt, das die Zeilenwritememory[0]=version;
writememory[1]=255;
writememory[2]=1;
writememory[3]=0;nicht funktionieren (anhand der Variablen)
Was kann das sein ?
-
Mach mal "Alles neu erstellen".
Wenn das nicht hilft, schalte die Optimierungen aus.Dann sollte es eignetlich wieder gehen - einen Fehler im code habe ich so auf Anhieb nicht gesehen.
-
Jep, die Optimierungen warens ...
Gut, das hier Leute mit Erfahrung sind, darauf wäre ich nie gekommen.
Der Code hat übrigens funktioniert, jedoch wurde die Anzeige der Variablen
anscheinend durch die "Optimierung auf Geschwindigkeit" mal "schnell"
deaktiviert.Danke nochmal ...