Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Debugging: Variablenwerte ständig überwachen (https://www.delphipraxis.net/116437-debugging-variablenwerte-staendig-ueberwachen.html)

kurtm1 29. Jun 2008 12:17


Debugging: Variablenwerte ständig überwachen
 
Wollte mal nachfragen ob es in Delphi 2005 PE auch möglich ist einzelne Variablen ständig zu überwachen => Der Wert (sofern vorhanden) soll andauernd angezeigt werden (auch ohne Breakpoints)

thx

Meflin 29. Jun 2008 12:18

Re: Debugging: Variablenwerte ständig überwachen
 
Das ist wohl nicht möglich. Während der Prozess läuft, hat der Debugger ja keinen Zugriff darauf!

sx2008 29. Jun 2008 14:22

Re: Debugging: Variablenwerte ständig überwachen
 
Man kann ja nur globale Variablen ständig überwachen. *)
Und was soll man mit globalen Variablen tun?? - Richtig, vermeiden wann immer es geht!!
Nehmen wir mal an, du hast eine Variable namens Status auf deinem Formular und willst jede Änderung mitbekommen.
Einfacher Trick, man macht aus Status ein Property:
Delphi-Quellcode:
private
  FStatus : integer;

  procedure SetStatus(Value:integer);
  property Status:integer read FStatus write SetStatus;
......
procedure TForm1.SetStatus(Value:integer);
begin
  FStatus := Value;
  Caption := Format('Status=%d', [Value]); // nur zum Debuggen; sonst auskommentieren
end;
Und wenn die Variable so wichtig ist, dass du sie ständig überwachen musst, dann ist es vielleicht eine gute Idee
diese Variable ständig an der Benutzeroberfläche zu präsentieren. In einem TStatusBar kann man einige Infos unterbringen.

*) theoretisch könnte die IDE einen neuen Thread aufmachen und globale Variable alle 0,1s Sekunden mit ReadProcessMemory auslesen
aber das lohnt den Aufwand nicht


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 Uhr.

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