Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Debugging: Array-Werte anzeigen (https://www.delphipraxis.net/199493-debugging-array-werte-anzeigen.html)

Nikodel 26. Jan 2019 17:33

Debugging: Array-Werte anzeigen
 
Hi,
ich habe in meinem Delphi XE4 ein dynamisches Array, time_st, von dem ich bestimmte Werte während des Debuggens sehen möchte.
Das Array ist ein Feld in meiner TMainForm, dem Hauptobjekt.
Überprüfen möchte ich den Wert innerhalb einer Methode TMainForm.PlotWD().

Hier das Schema des Codes:
Code:
type
 
  TMainForm = class(TForm)
...
private
    { Private-Deklarationen }
    time_st: array of uint32;
...
procedure TMainForm.PlotWD(start_date, ndays: int32);
...
    i:=idx_wd+1;
    while (time_st[i]<ts_end) do
    begin
      if (time_st[i]-time_st[i-1]<7) then
        Canvas.LineTo(... )
      else begin
        Canvas.MoveTo(... );
...
      end;
...
Ein Breakpoint ist in der Zeile 'Canvas.MoveTo(... )' gesetzt.
Hier möchte ich den Wert von time_st[i] sehen.
Wenn ich in der Liste überwachter Ausdrücke eingebe: time_st[i], dann wird unter 'Wert' angezeigt: Prozess nicht verfügbar.
Wenn ich jedoch mit der Mouse über den Namen 'time_st[i]' fahre, werden die ersten n Werte angezeigt, d.h. hier ist der 'Prozess wohl doch verfügbar'.
i ist leider so groß, dass der Wert in den ersten n Werten nicht vorkommt.

Gibt es eine Einstellung, bei der innerhalb einer procedure ein Wert in der Liste überwachter Ausdrücke angezeigt wird, der zwar nicht innerhalb der procedure, aber innerhalb der Klasse definiert ist, und mit dem das Programm ja auch arbeitet?

Ein ziemlich ratloser Nikodel würde sich über Tipps freuen.

Whookie 26. Jan 2019 17:46

AW: Debugging: Array-Werte anzeigen
 
Eventuell ist das ein X4 - Problem, es gab da einige Fixes seither - mit 10.2/10.3 geht das wie erwartet.

Dennis07 27. Jan 2019 09:11

AW: Debugging: Array-Werte anzeigen
 
Habe ich häufiger, auch unter 10.2 noch (mag sein, dass es in 10.3 behoben wurde, glaube ich aber nicht).
Die Liste mit überwachten Ausdrücken funktioniert nicht richtig mit Breakpoints in einigen Situationen. Deshalb am besten immer Cursor nehmen. Der ist genauer (es passiert nämlich auch manchmal, dass der angezeigte Wert bei den überwachten Ausdrücken nicht aktualisiert wird).

ConnorMcLeod 28. Jan 2019 16:30

AW: Debugging: Array-Werte anzeigen
 
OutputDebugString ?

freimatz 29. Jan 2019 14:18

AW: Debugging: Array-Werte anzeigen
 
<Sarkasmus>Wenn wir schon bei Computer-Steinzeit sind: vielleicht gleich noch auf einem Zeilendrucker ausgeben?</Sarkasmus>

dummzeuch 29. Jan 2019 14:30

AW: Debugging: Array-Werte anzeigen
 
Zitat:

Zitat von freimatz (Beitrag 1424370)
<Sarkasmus>Wenn wir schon bei Computer-Steinzeit sind: vielleicht gleich noch auf einem Zeilendrucker ausgeben?</Sarkasmus>

Nun übertreib mal nicht. OutputDebugString ist immerhin kein WriteLn. ;-)

Neutral General 29. Jan 2019 15:27

AW: Debugging: Array-Werte anzeigen
 
Ist zwar recht unwahrscheinlich, aber hast du mal versucht ob es klappt einfach das Array "live" auszuwerten mit Strg + F7?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz