Angeben einer Breakpoint-Aktion
Gilt für: SQL Server
Die Breakpoint-Aktion gibt einen benutzerdefinierten Task an, den der Transact-SQL-Debugger für einen Breakpoint ausführt. Wenn die angegebene Trefferanzahl erreicht ist und eine angegebenen Breakpoint-Bedingungen erfüllt sind, führt der Debugger die für den Breakpoint angegebene Aktion aus.
Überlegungen zur Aktion
Die Standardaktion für einen Breakpoint besteht darin, die Ausführung zu unterbrechen, wenn die Trefferanzahl- und die Breakpoint-Bedingung erfüllt sind. Der primäre Zweck einer Aktion im Transact-SQL-Debugger ist es, Informationen im Debugger-Ausgabefenster auszugeben.
Die Meldung wird im Feld Anzeigen einer Meldung im Ausgabefenster: angegeben und als Zeichenkette angegeben, der Ausdrücke mit Informationen aus dem zu debuggenden Transact-SQL enthält. Mögliche Ausdrücke:
Ein Transact-SQL-Ausdruck in geschweiften Klammern (
{}
). Die Ausdrücke können Transact-SQL-Variablen, -Parameter und integrierte Funktionen enthalten. Die Beispiele umfassen{@MyVariable}
,{@NameParameter}
,{@@SPID}
, oder{SERVERPROPERTY('ProcessID')}
.Eines der folgenden Schlüsselwörter:
$ADDRESS
gibt den Namen der gespeicherten Prozedur oder benutzerdefinierten Funktion zurück, in der der Breakpoint festgelegt ist. Wenn der Breakpoint im Editorfenster festgelegt wird, gibt$ADDRESS
den Namen der Skriptdatei zurück, die bearbeitet wird.$ADDRESS
und$FUNCTION
geben im Transact-SQL-Debugger die gleichen Informationen zurück.$CALLER
gibt den Namen der Einheit des Transact-SQL-Codes zurück, in der eine gespeicherte Prozedur oder eine Funktion aufgerufen wurde. Befindet sich der Breakpoint im Editor-Fenster, gibt$CALLER
<No caller available>
zurück. Wenn sich der Breakpoint in einer gespeicherten Prozedur oder benutzerdefinierten Funktion befindet, die vom Code im Editorfenster aufgerufen wird, gibt$CALLER
den Namen der Datei zurück, die bearbeitet wird. Wenn sich der Breakpoint in einer gespeicherten Prozedur oder benutzerdefinierten Funktion befindet, die von einer anderen gespeicherten Prozedur oder Funktion aufgerufen wird, gibt$CALLER
den Namen der aufrufenden Prozedur bzw. Funktion zurück.$CALLSTACK
gibt die Aufrufliste von Funktionen in der Kette zurück, die die aktuelle gespeicherte Prozedur oder benutzerdefinierte Funktion aufgerufen haben. Wenn sich der Breakpoint im Editorfenster befindet, gibt$CALLSTACK
den Namen der Skriptdatei zurück, die bearbeitet wird.$FUNCTION
gibt den Namen der gespeicherten Prozedur oder benutzerdefinierten Funktion zurück, in der der Breakpoint festgelegt ist. Wenn der Breakpoint im Editorfenster festgelegt wird, gibt$FUNCTION
den Namen der Skriptdatei zurück, die bearbeitet wird.$PID
und$PNAME
geben die ID und den Namen des Betriebssystemprozesses zurück, der die Instanz der Datenbank-Engine ausführt, in der das Transact-SQL ausgeführt wird.$PID
gibt die gleiche ID wieSERVERPROPERTY('ProcessID')
, mit der Ausnahme, dass es$PID
sich um einen Hexadezimalwert handelt, währendSERVERPROPERTY('ProcessID')
es sich um einen Dezimalwert handelt.$TID
und$TNAME
geben die ID und den Namen des Betriebssystemthreads zurück, der den Transact-SQL-Batch ausführt. Der Thread ist dem Prozess zugeordnet, der die Instanz der Datenbank-Engine ausführt.$TID
gibt denselben Wert zurück wieSELECT kpid FROM sys.sysprocesses WHERE spid = @@SPID
, mit der Ausnahme, dass es$TID
sich um einen Hexadezimalwert handelt, währendkpid
es sich um einen Dezimalwert handelt.
Sie können auch den umgekehrten Schrägstrich (
\
) als Escapezeichen verwenden, um geschweifte Klammern und umgekehrte Schrägstriche in der Meldung zuzulassen:\{
,\}
und\\
.
Eine Aktion festlegen
Klicken Sie im Editor-Fenster mit der rechten Maustaste auf das Breakpoint-Symbol, und klicken Sie dann im Kontextmenü auf Aktionen .
-oder-
Klicken Sie im Fenster Breakpoint mit der rechten Maustaste auf das Breakpointsymbol, und wählen Sie dann im Kontextmenü Einstellungen.
Wählen Sie im Dialogfeld Breakpoint-Einstellungen die Option Aktionen aus.
Geben Sie im Dialogfeld Ausgabefenster: Anzeigen einen Ausdruck ein.
Wählen Sie Code-Ausführung fortsetzen aus, wenn die Ausführung nicht am Breakpoint unterbrochen werden soll. Diese Option ist nur aktiviert, wenn Sie die Option Aktionen ausgewählt haben.
Wählen Sie Schließen aus, um die Änderungen zu implementieren.