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


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

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

Отладчик Windows

В режиме отладчика отладчик открывает два окна в нижней части основного окна SQL Server Management Studio. Отладчик отображает всю информацию в этих двух окнах. В каждом из окон отладчика есть вкладки, которые можно выбрать для управления набором сведений в окне. В левом окне отладчика содержатся вкладки Locals, Watch1, Watch2, Watch3 и Watch4. В правом окне отладчика содержатся вкладки "Стек вызовов", "Потоки", " Точки останова", " Окно команд" и " Вывод ".

Замечание

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

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

  • В меню отладки щелкните Windows и выберите нужное окно.

  • На панели инструментов отладки щелкните точки останова и выберите нужное окно.

выражения Transact-SQL

Выражения — это предложения Transact-SQL, которые оцениваются как одно скалярное значение, например переменные или параметры. В левом окне отладчика могут отображаться значения данных, которые в настоящее время назначаются выражениям на пяти вкладках или окнах: локальные значения, Watch1, Watch2, Watch3 и Watch4.

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

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

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

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

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

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

Окно QuickWatch можно использовать для просмотра значения выражения Transact-SQL, а затем сохранить это выражение в окне "Контроль ". Чтобы выбрать выражение в QuickWatch, выберите или введите имя выражения в поле выражения .

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

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

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

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

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

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

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

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

  • Текущее местоположение выполнения.

  • Вызов из одного модуля в другой.

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

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

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

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

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

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

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

Щелкнув правой кнопкой мыши кадр стека и выбрав "Перейти к исходному коду", код для этого кадра отображается в окне редактора запросов. Однако этот кадр не становится текущим кадром, и содержимое окон Locals, Watch и QuickWatch не изменяется.

Информация о системе и результаты Transact-SQL

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

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

См. также

Окно "Локальные"
Окно просмотра
Диалоговое окно быстрого просмотра
Окно точек останова
Окно стека вызовов
Окно потоков
Окно вывода
Transact-SQL отладчик