Entwickler-Ecke

Programmierwerkzeuge - Debugger Auf "a" kann wegen Optimierungszwecken nicht ..


Nano-Ware - Mi 04.04.12 12:14
Titel: Debugger Auf "a" kann wegen Optimierungszwecken nicht ..
Hey,

ich habe heute das erste Mal den Debugger benutzt und bin schrittweise durch die Anwendung durch. Währenddessen wollte ich den Wert der Variable a sehen, nur im Debuggerfenster bei Beobachtung hat a den Wert "E2171 Auf Variable 'a' kann wegen Optimierung nicht zugegriffen werden". Warum und wie bekomm ich das hin, dass a angezeigt wird?


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Mi 04.04.2012 um 16:05


Nersgatt - Mi 04.04.12 12:28

Dann hat der Compiler an der Stelle Dein a wegoptimiert, weil es an der Stelle nicht benötigt wird.
Zeig mal einen Quellcodeausschnitt.


bummi - Mi 04.04.12 12:56

Optimierung abschalten


Nano-Ware - Mi 04.04.12 13:56


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.FormCreate(Sender: TObject);
var
  I: Integer;
  a : Integer;
begin

  for I := 0 to 100 do
  begin

    a := i*i;

  end;



end;


Halt eben ein Testcode mit Schleife.


Nersgatt - Mi 04.04.12 14:08

Jupp, auf den Wert von a wird gar nicht zugegriffen. Der Compiler erkennt das und wirft es raus.
Wenn Du in die Schleife z.B. ein Label1.Caption := IntToStr(a); einfügst, würde es drin bleiben.