Бөлісу құралы:


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

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

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

Эта функция работает с SSMS версии 17.9.1 и предшествующими версиями.

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

Действие для точки останова по умолчанию — прекращение выполнения, если достигнуто число попаданий и удовлетворяется условие для точки останова. Действие При попадании в отладчике 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 возвращают идентификатор и имя процесса операционной системы, выполняющего экземпляр ядра СУБД, где выполняется код Transact-SQL. $PID возвращает такой же идентификатор, что и SERVERPROPERTY(ProcessID), за исключением того, что $PID имеет шестнадцатеричное, а SERVERPROPERTY(ProcessID) — десятичное значение.

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

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

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

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

    –или–

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

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

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

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

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

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

См. также

Задание условия точки останова
Настройка счетчика числа попаданий