DbgControl
DbgControl(int1)
Debugger steuern
Details
- int1: Optionen
- Siehe: Verwandte Befehle ,
DbgConnect (), Debugger
Mit diesem Befehl können verschiedene Ausgaben des Debuggers und das Ablaufverhalten von Prozeduren und Funktionen gesteuert werden. Die Wirkung der übergebenen Konstanten sind dort beschrieben. Folgende Optionen können übergeben werden:
_DbgEnter
Aufrufe durch das System (Ereignisse) werden im Debugger protokolliert. Die Protokollierung kann mit _DbgEnterOff wieder aufgehoben werden.
_DbgEnterSub
Aufrufe von Funktionen werden im Debugger protokolliert. Die Option muss mit _DbgEnter und kann mit _DbgLeave kombiniert werden. Die Protokollierung kann mit _DbgEnterOff wieder aufgehoben werden.
_DbgEnterOff
Es werden keine weiteren Funktionsaufrufe protokolliert.
_DbgLeave
Das Beenden von Prozeduren und Funktionen im Debugger wird protokolliert. Die Option muss mit _DbgEnter und kann mit _DbgEnterSub kombiniert werden.
_DbgStop
Der Debugger stoppt die Verarbeitung der Prozedur an dieser Stelle. Dies kann ebenfalls mit dem Befehl DbgStop () oder dem Setzen eines Breakpoints erreicht werden.
Die Verarbeitung der Prozedur wird angehalten und es wird eine entsprechende Benachrichtigung eingeblendet.
_DbgOff
Der Debug-Modus wird aufgehoben. Weitere Aufrufe von DbgConnect (), DbgDisconnect (), DbgStop () und DbgTrace () werden ignoriert. Zusätzlich ignoriert die Funktion DbgControl() alle Optionen, außer _DbgCallStackOn und _DbgCallStackOff. Darüberhinaus wird die Geschwindigkeit der Applikation erhöht, da bei Funktionsaufrufen die interne Statusprotokollierung minimiert wird.
Die Option wird erst mit dem Beenden des Clients, oder dem Neustart des Designers aufgehoben.
Trotz deaktivieren der interen Aufrufprotokollierung von Prozeduren und Funktionen können aktuelle Prozedurinformationen mit den Compiler-Makros ausgelesen werden.
_DbgTimeStart
Die interne Stoppuhr wird gestartet bzw. zurückgesetzt. Die vergangene Zeit kann über die Option _DbgTime abgefragt werden.
_DbgTime
Mit der Option wird die vergangene Zeit in Millisekunden seit dem letzten Aufruf mit der Option _DbgTimeStart in das Protokollfenster des Debuggers ausgegeben.
_DbgCallStackOn
Die Protokollierung der Funktionsaufrufe wird gestartet. Die Aufrufreihenfolge kann mit der Anweisung DbgDump () in eine externe Datei geschrieben werden.
Die Protokollierung der Aufrufreihenfolge hat zwar nur einen geringen Einfluss auf die Ausführungsgeschwindigkeit, sollte aber nur zu Debugging-Zwecken aktiviert werden. So wird systemseitig eine maximale Performance für die Prozedurausführung erreicht.
_DbgCallStackOff
Die Protokollierung der Funktionsaufrufe wird angehalten.
_DbgFrameOpenOn
Aktiviert die Protokollierung für Dialog-Befehle. Protokolliert Aufrufe von WinOpen (), WinDialog (), WinDialogRun () und WinAddByName (). Sofern sich die Aufrufe auf Dialoge beziehen, werden auch die Befehle WinAdd () und WinCreate () protokolliert. In der Spalte "Ausgabe" des Protokolls wird zuerst in eckigen Klammern der Name des aufgerufenen Befehls ausgegeben. Dann folgt der Name des Dialogs. Die Spalten "Prozedur" und "Zeile" enthalten Prozedur- und Funktionsname sowie die Zeilennummer des Aufrufs.
_DbgFrameOpenOff
Deaktiviert die Protokollierung für Dialog-Befehle.
_DbgTraceClear
Protokoll leeren.
Vor der Ausführung von DbgControl() muss eine Verbindung zum Debugger vorhanden sein. Die Verbindung kann mit DbgConnect () oder aus dem Editor hergestellt werden. Für die Ausführung mit einem _DbgCallStack...-Parameter muss keine Verbindung zum externen Debugger vorhanden sein.
Beispiele:
// Alle externen Aufrufe (Ereignisse) im Debugger protokollieren
DbgControl(_DbgEnter);
// Alle externen Aufrufe (Ereignisse) und deren Rücksprünge im Debugger protokollieren
DbgControl(_DbgEnter | _DbgLeave);
// Alle aufgerufenen Funktionen (externe und interne Aufrufe) protokollieren
DbgControl(_DbgEnter | _DbgEnterSub);
// Alle aufgerufenen Funktionen (externe und interne Aufrufe) und deren Rücksprünge protokollieren
DbgControl(_DbgEnter | _DbgEnterSub | _DbgLeave);