Moinsens,
in Delphi konnte ich bei den Haltepunkt Bedingungen einen Durchlaufzähler setzen.
Bei Funktionen die sehr häufig aufgerufen werden, (bevor es kracht) habe ich diesen Wert sehr hoch gesetzt und das Programm laufen lassen bis es kracht.
Im Ereignisprotokoll konnte ich dann nachsehen, wieviele Durchläufe es waren, bevor es geknallt hat.
Dann hab ich den Durchlaufzähler einen geringer als diesen Wert gesetzt und der Debugger hat dann kurz vorm Knall angehalten.
In Lazarus kann man ebenfalls diesen Durchlaufzähler eintragen, aber im Protokoll ist nichts zu finden.
Gibt es da eine funktionierende Lösung für oder muß ich mir mit DebugLn etc. helfen?
Breakpoint Anzahl Durchläufe?
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1645
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
- af0815
- Lazarusforum e. V.
- Beiträge: 6777
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Breakpoint Anzahl Durchläufe?
BTW: Welche Debuggereinstellung verwendest du ? gdb oder fpdebug ?
Der Debugger schreibt nichts mit vom Umlaufzähler. Er läuft ganz einfach bis zur Bedingung (oder Knall wenn vorher). Die Debugger sind an die IDE angekoppelt, nicht integriert wie bei Delphi, daher ist für den Breakpoint der Debugger und nicht die IDE zuständig.
Mit Debugln ist der normale Ansatz für mich.
Der Debugger schreibt nichts mit vom Umlaufzähler. Er läuft ganz einfach bis zur Bedingung (oder Knall wenn vorher). Die Debugger sind an die IDE angekoppelt, nicht integriert wie bei Delphi, daher ist für den Breakpoint der Debugger und nicht die IDE zuständig.
Mit Debugln ist der normale Ansatz für mich.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1645
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Breakpoint Anzahl Durchläufe?
Ich hab grad mal unter Werkzeuge -> Einstellungen -> Debugger -> Ereignisprotokoll geschaut. Da kann man unter "Nachrichten" ein Häkchen bei "Haltepunkt" setzen. Dann erscheint zumindest mal der bei den Haltepunkteigenschaften eingegebene Text, den man unter dem Punkt "Protokoll" angeben kann, in der Ereignisliste. Was jetzt noch fehlt wäre die Nummer des Durchlaufs.
Man kann natürlich die Anzahl der Einträge zählen - aber wenn das ein paar Tausend sind ...
Man kann natürlich die Anzahl der Einträge zählen - aber wenn das ein paar Tausend sind ...
-
- Beiträge: 586
- Registriert: Mi 25. Mär 2009, 21:12
- OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
- CPU-Target: mostly 32 bit
Re: Breakpoint Anzahl Durchläufe?
Der Count wird im "Breakpoint" Fenster angezeigt....
-
- Beiträge: 726
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Breakpoint Anzahl Durchläufe?
Bei so etwas habe ich, auch unter Delphi, folgendes gemacht:
Dieses Vorgehen ist einfach und klappt mit jedem Debugger und jede Sprache.
Code: Alles auswählen
if i=20 then // i ist Durchlaufszähler, 20 ist da wo ich es anhalten möchte
beep; // hier Breakpoint setzen.
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1645
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Breakpoint Anzahl Durchläufe?
Tatsache, Danke für die Info. Also braucht man gar nix drumrum programmieren.martin_frb hat geschrieben: Sa 25. Sep 2021, 01:56 Der Count wird im "Breakpoint" Fenster angezeigt....