Поделиться через


Указание действия точки останова

Область применения: SQL Server

Действие точки останова указывает настраиваемую задачу, выполняемую отладчиком Transact-SQL для точки останова. Если достигнуто указанное число попаданий и будет выполнено указанное условие точки останова, отладчик выполняет действие, указанное для точки останова.

Рекомендации по действиям

Действие по умолчанию для точки останова заключается в том, чтобы прервать выполнение при выполнении как количества попаданий, так и условия точки останова. Основное использование действия в отладчике Transact-SQL — печать сведений в окне вывода отладчика.

Это сообщение указывается в окне вывода сообщения: поле "Показать сообщение" и указывается в виде текстовой строки, содержащей выражения, содержащие сведения из отлаживаемого объекта Transact-SQL. Выражения могут включать следующие элементы.

  • Выражение Transact-SQL, заключенное в фигурные скобки ({}). В этом выражении могут использоваться переменные, параметры и встроенные функции Transact-SQL. Примеры: {@MyVariable}, или {@@SPID}{@NameParameter}{SERVERPROPERTY('ProcessID')}.

  • Одно из следующих ключевых слов:

    • $ADDRESS возвращает имя хранимой процедуры или определяемой пользователем функции, в которой задана точка останова. Если точка останова задана в окне редактора, $ADDRESS возвращает имя редактируемого файла скрипта. $ADDRESS и $FUNCTION возвращает те же сведения в отладчике Transact-SQL.

    • $CALLER возвращает имя единицы кода Transact-SQL, вызывающего хранимую процедуру или функцию. Если точка останова находится в окне редактора, $CALLER возвращается <No caller available>. Если точка останова находится в хранимой процедуре или определяемой пользователем функции из кода в окне редактора, $CALLER возвращает имя редактируемого файла. Если точка останова находится в хранимой процедуре или определяемой пользователем функции, вызываемой из другой хранимой процедуры или функции, $CALLER возвращает имя вызывающей процедуры или функции.

    • $CALLSTACK возвращает стек вызовов функций в цепочке, которая называется текущей хранимой процедурой или определяемой пользователем функцией. Если точка останова находится в окне редактора, $CALLSTACK возвращает имя редактируемого файла скрипта.

    • $FUNCTION возвращает имя хранимой процедуры или определяемой пользователем функции, в которой задана точка останова. Если точка останова задана в окне редактора, $FUNCTION возвращает имя редактируемого файла скрипта.

    • $PIDи $PNAME возвращает идентификатор и имя процесса операционной системы, выполняющего экземпляр ядро СУБД, где выполняется Transact-SQL. $PIDвозвращает тот же идентификатор, $PID что SERVERPROPERTY('ProcessID')и шестнадцатеричное значение в то время как SERVERPROPERTY('ProcessID') десятичное значение.

    • $TID и $TNAME возвращает идентификатор и имя потока операционной системы, выполняющего пакет Transact-SQL. Этот поток связан с процессом, в котором выполняется экземпляр ядра СУБД. $TIDвозвращает то же значение, $TID что SELECT kpid FROM sys.sysprocesses WHERE spid = @@SPIDи шестнадцатеричное значение, а десятичное kpid значение.

  • Вы также можете использовать символ обратной косой черты (\) в качестве escape-символа, чтобы разрешить фигурные скобки и обратные косые скобки в сообщении: \{, \}и \\.

Указание действия

  1. В окне редактора щелкните правой кнопкой мыши глиф точки останова и выберите "Действия " в контекстном меню.

    –или–

    В окне точек останова щелкните правой кнопкой мыши глиф точки останова и выберите пункт "Параметры" в контекстном меню.

  2. В диалоговом окне "Параметры точки останова" выберите параметр "Действия".

  3. В диалоговом окне вывода введите сообщение в диалоговом окне вывода.

  4. Выберите "Продолжить выполнение кода", если вы не хотите, чтобы точка останова приостанавливала выполнение. Этот параметр активен только при выборе параметра "Действия ".

  5. Нажмите кнопку "Закрыть ", чтобы реализовать изменения.