Freigeben über


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 wie SERVERPROPERTY('ProcessID'), mit der Ausnahme, dass es $PID sich um einen Hexadezimalwert handelt, während SERVERPROPERTY('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 wie SELECT kpid FROM sys.sysprocesses WHERE spid = @@SPID, mit der Ausnahme, dass es $TID sich um einen Hexadezimalwert handelt, während kpid 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

  1. 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.

  2. Wählen Sie im Dialogfeld Breakpoint-Einstellungen die Option Aktionen aus.

  3. Geben Sie im Dialogfeld Ausgabefenster: Anzeigen einen Ausdruck ein.

  4. 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.

  5. Wählen Sie Schließen aus, um die Änderungen zu implementieren.