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/)
-   -   dumme Frage zum Debugger, nicht lachen (https://www.delphipraxis.net/99547-dumme-frage-zum-debugger-nicht-lachen.html)

stoxx 13. Sep 2007 19:33


dumme Frage zum Debugger, nicht lachen
 
ich hab irgendwie in Erinnerung, oder kann mich auch täuschen, dass der Debugger an der Stelle des Sources anhalten kann, wenn sich eine bestimmte vorher definierte Variable ändert.
Dachte, ich hätte vor langer Zeit mal sowas gefunden, aber irgendwie .. hmmm

mirage228 13. Sep 2007 19:36

Re: dumme Frage zum Debugger, nicht lachen
 
Hi,

Ich glaube, das was du suchst ist unter "Start" -> "Haltepunkt hinzufügen". Dort kannst Du z.B. bedingte Haltepunkte erstellen.

mfG
mirage228

SirThornberry 13. Sep 2007 19:38

Re: dumme Frage zum Debugger, nicht lachen
 
@stoxx: könntest du bitte dem Beitrag einen aussagekräftigen Titel geben? Der Titel sagt momentan so gut wie nichts zu deinem Problem aus.

stoxx 13. Sep 2007 19:56

Re: dumme Frage zum Debugger, nicht lachen
 
Zitat:

Zitat von mirage228
Hi,

Ich glaube, das was du suchst ist unter "Start" -> "Haltepunkt hinzufügen". Dort kannst Du z.B. bedingte Haltepunkte erstellen.

mfG
mirage228


das ist irgendwie nicht ganz das, was ich suche, da muss unbedingt eine Quelltextzeile eingefügt werden, ich will ja aber gerade die Unit und Quelltextzeile finden, wo eine Veränderung einer ObjectVarialben stattfindet ... hmm
Es geht um eine ID, die sich einfach ändert ... *grübel*

Gruber_Hans_12345 13. Sep 2007 20:14

Re: dumme Frage zum Debugger, nicht lachen
 
also, du kannst auch eine variable in die überwachten Ausdrücke einfügen (Watches) und dann hast du im Popupmenü einen Eintrag wie "Break when changed" damit hält der debugger dann an, wenn sich die variable ändert

stoxx 14. Sep 2007 01:06

Re: dumme Frage zum Debugger, nicht lachen
 
Zitat:

Zitat von Gruber_Hans_12345
also, du kannst auch eine variable in die überwachten Ausdrücke einfügen (Watches) und dann hast du im Popupmenü einen Eintrag wie "Break when changed" damit hält der debugger dann an, wenn sich die variable ändert

nach dreimaligem Hinschauen hatte ich es immernoch nicht gefunden, den Eintrag gibts nur bis Delphi7.
Ab Delphi2005 nix mehr zu finden.
Und jetzt? Einfach weg? .. hmmmm

RavenIV 14. Sep 2007 14:21

Re: dumme Frage zum Debugger, nicht lachen
 
Du gehst mit dem Cursor in die Zeile, in der Du stoppen möchtest.
Dann mit <F5> einen Haltepunkt setzen.
Rechtsklick auf den Haltepunkt, Haltepunkt Eigenschaften.
Hier kannst Du dann die bedingungen setzen, wann der Haltepunkt aktiv sein soll (wann das Programm angehalten werden soll).

hoika 14. Sep 2007 14:27

Re: dumme Frage zum Debugger, nicht lachen
 
Hallo,

das Prüfen einer Variablen-Änderung darf erst zur Laufzeit
festgelegt werden.

Besser ist es, statt einer Variablen ein property zu benutzen
und den breakpoint auf die Set procedure zu etzen

Delphi-Quellcode:
type
  TMyClass = class
    private
      FId: Integer;
 
      procedure SetId(const theValue: Integer);
      function GetId: Integer;
    public
      property Id: Integer
        read GetId
        write SetId
  end;

procedure TMyClass.SetId(const theValue: Integer);
begin
  FId:= theValue; //   <<-- hier mit F5 den breakpoint setzen
end;

function TMyClass.GetId: Integer;
begin
  Result:= FId;
end;
Wenn sich die ID jetzt trotzdem noch ändert,
ohne das der Breakpoint angesprungen wird,
wird meistens im Code Speciher überschrieben.


Heiko

SirThornberry 14. Sep 2007 14:33

Re: dumme Frage zum Debugger, nicht lachen
 
Zitat:

Zitat von SirThornberry
@stoxx: könntest du bitte dem Beitrag einen aussagekräftigen Titel geben? Der Titel sagt momentan so gut wie nichts zu deinem Problem aus.

Daran hat sich noch nichts geändert!

grenzgaenger 15. Sep 2007 14:07

Re: dumme Frage zum Debugger, nicht lachen
 
ja, das geht. erst einen haltepunkt erstellen, wie das geht, weisste sicher...

dann, auf den positionieren, rechte maustaste --> haltepunkt eigenschaften... hier kannste dann 'ne bedingung angeben, wann die ziehen soll.

noch viel spass
gg


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:37 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz