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


Сведения отладчика Transact-SQL

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

Окна отладчика

В режиме отладки внизу основного окна среды Среда SQL Server Management Studio отладчик открывает два окна. Все сведения отладчика отображаются в этих двух окнах. В каждом из окон отладчика имеются вкладки, которые можно выбирать для управления тем, какой набор сведений отображается в окне. Левое окно отладчика содержит вкладки Региональные установки, Контролируемая переменная 1, Контролируемая переменная 2, Контролируемая переменная 3 и Контролируемая переменная 4. В правом окне отладчика есть вкладки Стек вызовов, Потоки, Точки останова, Окно команд и Вывод.

ПримечаниеПримечание

В приведенном описании имеется в виду расположение окон отладчика по умолчанию. Вкладки можно перетаскивать из одного окна в другое, а также можно отменить закрепление вкладки и создать новое окно, которое можно поместить в любое место.

По умолчанию не все эти вкладки или окна активны. Нужное окно можно открыть одним из следующих способов.

  • В меню Отладка выбрать пункт Окна, а затем выбрать требуемое окно.

  • На панели инструментов Отладка нажать кнопку Точки останова, а затем выбрать требуемое окно.

Выражение языка Transact-SQL

Выражения — это предложения Transact-SQL, значением которых является отдельное скалярное значение, например переменная или параметр. В левом окне отладчика могут отображаться значения данных, назначенные на текущий момент выражениям, в максимум пяти вкладках или окнах: Просмотр значений1, Просмотр значений2, Просмотр значений3 и Просмотр значений4.

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

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

  • Имя переменной, например @IntegerCounter.

  • Арифметическая операция над переменной, например @IntegerCounter + 1.

  • Строковая операция над двумя символьными переменными, например @FirstName + @LastName.

  • Инструкция SELECT, возвращающая единственное значение, например SELECT CharCol FROM MyTable WHERE PrimaryKey = 1.

Предусмотрена возможность использовать окно Быстрая проверка для просмотра значения выражения Transact-SQL, а затем сохранения этого выражения в окне Контролируемая переменная. Чтобы выбрать выражение в окне Быстрая проверка, выберите или введите имя выражения в поле Выражение.

В четырех окнах Просмотр значений отображаются сведения о выбранных переменных и выражениях. Набор выражений, которые показаны в окнах Просмотр значений, изменяется только в случае, если добавить выражения в список или удалить их из него.

Чтобы добавить выражение в окно Просмотр значений, можно либо нажать кнопку Добавить контрольное значение в диалоговом окне Контрольное значение, либо ввести имя выражения в столбце Имя пустой строки в окне Просмотр значений.

Задать значение данных для переменных в окнах Локальные значения, Просмотр значений или Контрольное значение можно, щелкнув строку правой кнопкой мыши и выбрав команду Изменить значение. Столбцы Значение в окне Локальные значения, окне Просмотр значений, а также в диалоговом окне Контрольное значение допускают текстовые, XML и HTML визуализаторы данных. Визуализаторы представлены как подсказка по данным в виде лупы с правой стороны столбца Значения. Визуализаторы можно использовать для просмотра текстовых, XML или HTML-значений данных в программах, которые соответствуют типу данных, например просматривать XML-файлы в окне браузера.

Если в режиме отладки указатель мыши навести на идентификатор, отображается всплывающее окно Краткие сведения с именем выражения и его текущим значением. Дополнительные сведения см. в разделе Краткие сведения (технология IntelliSense).

Точки останова

Окно Точки останова можно использовать для просмотра установленных точек останова и управления ими. Дополнительные сведения см. в разделе Пошаговая отладка кода Transact-SQL.

Стеки вызовов

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

  • текущее положение выполнения;

  • вызов от одного модуля к другому;

  • вызов от окна редактора к модулю Transact-SQL.

Порядок модулей в стеке является обратным порядку, в котором модули вызывались. Текущее положение выполнения находится вверху стека, а начальный вызов — внизу. Желтая стрелка на левом краю кадра стека обозначает кадр, на котором отладчик приостанавливает выполнение.

В столбце Имя записываются следующие сведения.

  • Исходный модуль, содержащий строку кода, которая произвела вызов следующего уровня.

  • Строка кода, которая вызвала следующий модуль в стеке.

  • Если была вызвана хранимая процедура или функция, которая приняла параметры, то также отображаются имена, типы данных и значения всех параметров.

Выражения в окнах Локальные переменные, Контрольные значения и Быстрая проверка вычисляются для текущего кадра стека. По умолчанию текущий кадр стека является верхним кадром в стеке, на котором отладчик приостановил выполнение. При указании другого кадра стека в качестве текущего выражения в окнах Локальные переменные, Контрольные значения и Быстрая проверка вычисляются для нового кадра стека Чтобы изменить текущий кадр стека, нужно либо дважды щелкнуть кадр, либо щелкнуть кадр и выбрать Переключиться на фрагмент. После этого выражения в окнах Локальные переменные, Контрольные значения и Быстрая проверка будут вычислены для нового кадра. Зеленая стрелка на левом краю кадра стека обозначает текущий кадр, когда он не является верхним в стеке.

Если щелкнуть кадр стека правой кнопкой мыши и выбрать пункт К исходному коду, код для этого кадра появится в окне редактора запросов. Однако этот кадр не становится текущим, а содержимое окон Локальные переменные, Контрольные значения и Быстрая проверка не изменяется.

Системные сведения и результаты Transact-SQL

Отладчик отображает свое состояние и сообщения о событиях в окне Вывод. Сюда входят такие сведения, как время прикрепления отладчика к другим процессам или время завершения потока отладчика.

Когда редактор запросов находится в режиме отладки, вкладки Результаты и Сообщения остаются активными. На вкладке Результаты продолжают отображаться результирующие наборы от инструкций Transact-SQL, которые выполняются во время сеанса отладки. Вкладка Сообщения продолжает отображать системные сообщения, такие как «xx Rows Affected», и вывод инструкций PRINT и RAISERROR.

См. также

Справочник

Окно локальных переменных

Окно просмотра значений

Диалоговое окно «Быстрая проверка»

Окно точек останова

Окно стека вызовов

Окно потоков

Окно вывода

Основные понятия

Отладчик Transact-SQL