Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

Bedingte Schleifenunterbrechung im Debugger

  Alt 30. Okt 2019, 10:54
Hallo!

Gibt es im Delphi-Debugger eine Möglichkeit, eine Variable automatisch auf einen bestimmten Wert zu überwachen und dann an einem Breakpoint zu halten? Hintergrund ist: Ich habe eine Schleife mit vielen Durchläufen, wo ein Fehler erst beim Eintreten eines bestimmten Zustands auftritt. Der Zustand ist nicht an den Schleifenzähler geknüpft sondern mehr oder weniger zufällig. Wenn ich nun innerhalb der Schleife einen Breakpoint setze, muss ich evtl. 10000x F9 drücken und die Variable manuell prüfen bis die Bedingung erfüllt ist.

Bisher habe ich das immer mit einem zusätzlichen if Variable = Kriterium then MacheNichts() -Block gemacht und dann darin den Breakpoint gesetzt. In normalen EXEn mag das noch praktikabel sein, bei Dienst-DLLs wirds aber schon nervig. Das Kriterium ist relativ komplex, sodass ich viele verschiedene Variablen im Debugger ändern müsste um das zu reproduzieren. Wäre sehr umständlich.

Besser bzw. eleganter fände ich es, wenn ich einen "bedingten Breakpoint" setzen könnte, bei dem nur gehalten wird wenn Variable = Kriterium ist und der Debugger für mich die Variable prüft.

Gibts so etwas?

Grüße
Cody
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden

Geändert von Codehunter (30. Okt 2019 um 10:58 Uhr)
  Mit Zitat antworten Zitat