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

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

Обзор действий

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

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

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

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

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

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

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

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

    5. $PID и $PNAME возвращают идентификатор и имя процесса операционной системы, выполняющего экземпляр компонента Database Engine, где выполняется Transact-SQL. $PID возвращает такой же идентификатор, что и SERVERPROPERTY("ProcessID"), за исключением того, что $PID имеет шестнадцатеричное, а SERVERPROPERTY("ProcessID") — десятичное значение.

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

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

Установка действия «При попадании»

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

    — или —

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

  2. В диалоговом окне При попадании в точку останова выберите нужное поведение:

    1. Выберите Вывод сообщения для вывода сообщения в окне отладчика «Вывод» при попадании в точку останова.

    2. Параметр Запуск макроса в отладчике Transact-SQL недоступен и отображается серым.

    3. Выберите Продолжить выполнение, чтобы точка останова не приводила к приостановке выполнения. Этот параметр доступен только в том случае, если выбран параметр Вывод сообщения.

  3. Нажмите кнопку ОК, чтобы внести изменения, либо кнопку Отмена, чтобы выйти без их применения.

См. также

Задания

Задание условия точки останова

Настройка счетчика числа попаданий