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


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

применимо к:SQL Server

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

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

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

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

  • Выражение Transact-SQL, содержащееся в фигурных скобках ({}). Выражения могут включать Transact-SQL переменные, параметры и встроенные функции. Примеры включают {@MyVariable}, {@NameParameter}, {@@SPID}или {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 возвращает тот же идентификатор, что и SERVERPROPERTY('ProcessID'), за исключением того, что $PID является шестнадцатеричным значением, а SERVERPROPERTY('ProcessID') — десятичное значение.

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

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

Укажите действие

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

    -или-

    В окне Точки останова щелкните правой кнопкой мыши на глифе точки останова, затем выберите Настройки в контекстном меню.

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

  3. В диалоговом окне "Показать сообщение в окне вывода:" введите выражение.

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

  5. Выберите Закрыть, чтобы реализовать изменения.