Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Wie kann ich finden wo eine Variable geändert wird? (https://www.delphipraxis.net/187635-wie-kann-ich-finden-wo-eine-variable-geaendert-wird.html)

Der schöne Günther 16. Dez 2015 17:44

Wie kann ich finden wo eine Variable geändert wird?
 
Die Frage kam bestimmt schon 10.000 mal. Aber ich schaffe es nicht die Suche passend einzugrenzen.

Ich habe eine Variable
Delphi-Quellcode:
meineZahl: Integer
. Wie kann ich im Code-Editor herausfinden wo diese Variable verändert wird (per Zuweisung oder als var-Parameter übergeben)?

Mavarik 16. Dez 2015 17:52

AW: Wie kann ich finden wo eine Variable geändert wird?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1324670)
Die Frage kam bestimmt schon 10.000 mal. Aber ich schaffe es nicht die Suche passend einzugrenzen.

Ich habe eine Variable
Delphi-Quellcode:
meineZahl: Integer
. Wie kann ich im Code-Editor herausfinden wo diese Variable verändert wird (per Zuweisung oder als var-Parameter übergeben)?

Ist ein Range ausgeschlossen?
für nicht Var Parameter -> Property daraus machen
Designtime oder Runtime?

Timer-> meineZahl <> lastMeineZahl...

Bisschen mehr Futter :glaskugel:

Kralle 16. Dez 2015 18:20

AW: Wie kann ich finden wo eine Variable geändert wird?
 
Moin,

an dem Punkt ab dem Du vermutest das die Änderung stattfindet einen Haltepunkt definieren, die Variable in die Überwachtenausdrücke übernehmen und dann wenn das Programm bei der Ausführung am Haltepunkt stoppt, mit F7 Schritt und Schritt durch den Code wandern. Als erstes kannst Du das auch mit F8 machen und wenn Du die Procedure gefunden hast in der die Veränderung stattfindet, einen Haltepunkt in die Procedure (den ersten löschen) und mit F7 weiter machen.

Gruß Heiko

Der schöne Günther 16. Dez 2015 18:24

AW: Wie kann ich finden wo eine Variable geändert wird?
 
Danke für die Antworten. Ich möchte nicht debuggen und schauen ob sich zur Laufzeit vielleicht mal etwas ändert.

Ich möchte zur "Designzeit" die Stellen finden wo eine Variable geändert wird.

Lemmy 16. Dez 2015 18:31

AW: Wie kann ich finden wo eine Variable geändert wird?
 
suche mit "meineVariable := "

sollte hier doch ausreichen - oder denke ich zu einfach?

Der schöne Günther 16. Dez 2015 18:40

AW: Wie kann ich finden wo eine Variable geändert wird?
 
Ja. Denn Dinge wie
Delphi-Quellcode:
verdoppeleWert(meineVariable);

[...]

procedure verdoppeleWert(var wert: Integer);
begin
   wert := wert * 2;
end;
findet man damit nicht. Von Zeigern ganz zu schweigen, aber die lassen wir mal außen vor ;-)

hoika 16. Dez 2015 18:44

AW: Wie kann ich finden wo eine Variable geändert wird?
 
Hallo,

dann benenn die Variable um,
dann findet der Compiler die Stellen.

Zum Debuggen (jaja, willst du nicht):
Ich mache aus der Variable ein Property,
dann kannst du aber die aber nicht mit var-Parametern arbeiten.


Heiko

SMO 16. Dez 2015 18:47

AW: Wie kann ich finden wo eine Variable geändert wird?
 
Ein
Delphi-Quellcode:
Inc(meineVariable)
hätte schon gereicht als Gegenbeispiel. ;)

Und was wäre mit
Delphi-Quellcode:
Foo(meineVariable);

procedure Foo(var wert: Integer);
begin
  wert := wert;
end;
Zählt das für dich als "Variable geändert" oder nicht? D.h. suchst du Schreibzugriffe oder tatsächliche Wertänderungen?
Egal wie die Frage ausfällt, ich kann dir da nicht weiterhelfen. Mir fällt spontan nur ein die Refactoring-Funktionen zu benutzen ("meineVariable" vom Refactoring umbenennen lassen und alle Fundstellen manuell überprüfen).

Perlsau 16. Dez 2015 18:51

AW: Wie kann ich finden wo eine Variable geändert wird?
 
Zuweisungen finden aber nunmal nur zur Laufzeit statt. Entweder du suchst im Code nach deiner Variablen, oder suchst zur Laufzeit beim Debuggen. Wenn du sie mit dem Suchbegriff "MyVar :=" nicht findest, suchst du eben mit "var MyVar" weiter oder suchst gleich nur nach "MyVar". Ansonsten gibt es dafür keinen anderen "Trick" oder ein spezielles Feature in der IDE, zumindest nicht in meiner :-D

Uwe Raabe 16. Dez 2015 19:03

AW: Wie kann ich finden wo eine Variable geändert wird?
 
Ist vielleicht zu einfach, aber ich hätte jetzt einfach über das Kontext-Menü Referenzen suchen (bzw. Ctrl-Shift-Enter) alle Stellen auflisten lassen. Dort sieht man Zuweisungen sehr schnell - nur bei Var-Parameten muss man halt genauer hinschauen.

Alternativ kann ich auch den Pascal Analyzer empfehlen, der für jede Variable eine Liste erstellt, aus der man die Stellen mit Zuweisung und Nutzung als Var-Parameter ablesen kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:32 Uhr.
Seite 1 von 2  1 2      

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