Haltepunkte „Break points“ Die Elemente des Debuggers

Fehlerbehandlung - Die Elemente des Debuggers www.delphi-treff.de 144

5.2.1. Haltepunkte „Break points“

Um zu einem bestimmten Zeitpunkt nähere Informationen zum Programm zu erhalten, müssen wir den Programmlauf anhalten. Das erreichen wir durch Setzen eines Haltepunktes im Quelltext. Mit dem KompilierenErzeugen des Programms erscheinen am linken Rand des Editors die möglichen Kandidaten für solch einen Quelltexthaltepunkt, gekennzeichnet durch einen blauen Punkt. Klicken wir den Punkt neben der For-Schleife in Zeile 28 an, so sehen wir die farblich hinterlegten Merkmale eines aktivierten Haltepunktes. Bei Starten des Programms mit F9 stoppt nun die Ausführung immer vor Abarbeitung dieser Anweisung in Zeile 28. Der blaue Pfeil und die Hinterlegung im Quelltext kennzeichnen die nächste auszuführende Zeile. Wir können solche Haltepunkte aber auch mit Bedingungen versehen. Die Programmausführung stoppt dann also nicht immer, sondern nur, wenn die gesetzte Bedingung erfüllt ist. Dazu tätigen wir einen Rechtsklick auf den bereits g esetzte Haltepu kt u d ähle „Eigenschaften des Haltepunkts... aus. Als Bedingung können wir hier boolesche Ausdrücke wie z.B. „i mod 10 = 0 oder „i = 30 eintragen. Im ersten Fall ergibt die Bedingung True, wenn i die Werte 10, 20, ..., 100 annimmt und im zweiten Fall, bei Werten von 30, 31, ..., 100. Eine weitere auswählbare Bedingung wäre in diesem Fenster der Durchlaufzähler. Tragen wir dort z.B. eine „10 ein, dann stoppt die Anwendung, bevor die Haltepunktzeile zum 10. Mal abgearbeitet wird. Da die Schleife bei 2 beginnt, wäre zu diesem Zeitpunkt i=11. Danach wird der Durchlaufzähler wieder auf 0 gesetzt, und das Zählen der Durchläufe beginnt von vorn. Die Verwaltung der Haltepunkte ist im unteren Bereich des Debug-Layouts zu finden. Dort, wie auch am Haltepunkt selbst, können die gesetzten Eigenschaften eingesehen und verändert werden. Neben den Quelltexthaltepunkten haben wir zusätzlich die Möglichkeit, Adresshaltepunkte zu setzen. Hier hält die Ausführung an, wenn eine zuvor angegebene Speicheradresse im Arbeitsspeicher angesprochen wird. Das Setzen eines Adresshaltepunktes ist nur zur Laufzeit möglich und erreichbar über den Menüpunkt Fehlerbehandlung - Die Elemente des Debuggers www.delphi-treff.de 145 StartHaltepunkt hinzufügenAdresshaltepunkt. Interessant sind solche Adresshaltepunkte dann, wenn wir Fehlermeldungen erhalten, wo konstant auf eine bestimmte Speicheradresse zugegriffen werden soll.

5.2.2. Durchschreiten des Quelltextes