Określ akcję dla punktu przerwania
Dotyczy:programu SQL Server
Akcja punktu przerwania określa niestandardowe zadanie, które debuger Transact-SQL wykonuje dla punktu przerwania. Jeśli zostanie osiągnięta określona liczba trafień i określony warunek punktu przerwania zostanie spełniony, debuger wykonuje akcję określoną dla punktu przerwania.
Zagadnienia dotyczące akcji
Domyślną akcją dla punktu przerwania jest przerwanie wykonywania, gdy zarówno liczba trafień, jak i warunek punktu przerwania są spełnione. Podstawowym zastosowaniem akcji debugera Transact-SQL jest wyświetlenie informacji w oknie danych wyjściowych debugera .
Komunikat jest podany w polu Pokaż komunikat w oknie danych wyjściowych: i jest określony jako ciąg tekstowy zawierający wyrażenia z informacjami z debugowanego Transact-SQL. Wyrażenia obejmują:
Wyrażenie Transact-SQL zawarte w nawiasach klamrowych (
{}
). Wyrażenia mogą obejmować zmienne Transact-SQL, parametry i wbudowane funkcje. Przykłady obejmują{@MyVariable}
,{@NameParameter}
,{@@SPID}
lub{SERVERPROPERTY('ProcessID')}
.Jedno z następujących słów kluczowych:
$ADDRESS
zwraca nazwę procedury składowanej lub funkcji zdefiniowanej przez użytkownika, w której ustawiono punkt przerwania. Jeśli punkt przerwania jest ustawiony w oknie edytora,$ADDRESS
zwraca nazwę edytowanego pliku skryptu.$ADDRESS
i$FUNCTION
zwracają te same informacje w debugerze Transact-SQL.$CALLER
zwraca nazwę jednostki kodowej Transact-SQL, która wywołała procedurę składowaną lub funkcję. Jeśli punkt przerwania znajduje się w oknie edytora,$CALLER
zwraca wartość<No caller available>
. Jeśli punkt przerwania znajduje się w procedurze składowanej lub funkcji zdefiniowanej przez użytkownika wywoływanej z kodu w oknie edytora,$CALLER
zwraca nazwę edytowanego pliku. Jeśli punkt przerwania znajduje się w procedurze składowanej lub funkcji zdefiniowanej przez użytkownika wywoływanej z innej procedury składowanej lub funkcji,$CALLER
zwraca nazwę procedury wywołującej lub funkcji.$CALLSTACK
zwraca stos wywołań funkcji w łańcuchu, który wywołał bieżącą procedurę składowaną lub funkcję zdefiniowaną przez użytkownika. Jeśli punkt przerwania znajduje się w oknie edytora,$CALLSTACK
zwraca nazwę edytowanego pliku skryptu.$FUNCTION
zwraca nazwę procedury składowanej lub funkcji zdefiniowanej przez użytkownika, w której ustawiono punkt przerwania. Jeśli punkt przerwania jest ustawiony w oknie edytora,$FUNCTION
zwraca nazwę edytowanego pliku skryptu.$PID
i$PNAME
zwracają identyfikator i nazwę procesu systemu operacyjnego, w którym działa instancja silnika bazy danych, na której jest uruchomiony Transact-SQL.$PID
zwraca ten sam identyfikator coSERVERPROPERTY('ProcessID')
, z tą różnicą, że$PID
jest wartością szesnastkową, podczas gdySERVERPROPERTY('ProcessID')
jest wartością dziesiętną.$TID
i$TNAME
zwracają identyfikator i nazwę wątku systemu operacyjnego uruchamiającego wsad Transact-SQL. Wątek jest związany z procesem uruchamiającym instancję aparatu bazy danych.$TID
zwraca tę samą wartość coSELECT kpid FROM sys.sysprocesses WHERE spid = @@SPID
, z tą różnicą, że$TID
jest wartością szesnastkową, podczas gdykpid
jest wartością dziesiętną.
Możesz również użyć znaku ukośnika odwrotnego (
\
) jako znaku ucieczki, aby zezwolić na nawiasy klamrowe i ukośniki odwrotne w komunikacie:\{
,\}
i\\
.
Określanie akcji
W oknie edytora kliknij prawym przyciskiem myszy glif punktu przerwania, a następnie wybierz Actions z menu kontekstowego.
-lub-
W oknie punktów przerwania kliknij prawym przyciskiem myszy symbol punktu przerwania, a następnie wybierz Ustawienia w menu kontekstowym.
W oknie dialogowym Ustawienia punktu przerwania wybierz opcję Działania.
W dialogu "Pokaż komunikat w oknie wyjścia:" wprowadź wyrażenie.
Wybierz pozycję Kontynuuj wykonywanie kodu, jeśli nie chcesz, aby punkt przerwania wstrzymał wykonywanie. Ta opcja jest aktywna tylko w przypadku wybrania opcji akcje.
Wybierz pozycję Zamknij, aby zaimplementować zmiany.