Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
Каждый раз, когда отладчик приостанавливает выполнение в определенной инструкции Transact-SQL, можно использовать различные окна отладчика для просмотра текущего состояния выполнения.
Окна отладчика
В режиме отладчика отладчик открывает окна рядом с окном редактора запросов. Отладчик отображает свои сведения в выбранных окнах. В каждом из окон отладчика есть вкладки, которые можно выбрать для управления набором сведений в окне. Стек вызовов, точки останова, параметры исключений и вкладки вывода содержатся в одном окне. Вкладки Watch1, Watch2, Watch3 и Watch4 содержатся в одном окне. Окна "Потоки" и "Локальные" отображаются отдельно.
Замечание
Предыдущие описания применяются к расположениям по умолчанию окон отладчика. Вы можете перетащить вкладку, чтобы переместить ее из одного окна в другое или открепить вкладку, чтобы создать новое окно для выбранных вкладок.
По умолчанию не все эти вкладки или окна активны. Чтобы открыть определенное окно, в меню отладки выберите Windows и выберите окно, которое нужно просмотреть.
выражения Transact-SQL
Выражения — это предложения Transact-SQL, которые оцениваются как одно скалярное значение, например переменные или параметры. Окно отладчика может отображать значения данных, которые в настоящее время назначены выражениям, на пяти вкладках или окнах: Locals, Watch1, Watch2, Watch3 и Watch4.
В окне "Локальные " отображаются сведения о локальных переменных в текущей области отладчика Transact-SQL. Набор выражений, перечисленных в окне "Локальные" изменяется по мере того, как отладчик проходит через различные части кода.
Выражения в четырех окнах отслеживания не ограничиваются только указанием идентификатора переменной. Можно указать выражение Transact-SQL, которое вычисляет одно значение, например добавление числа в переменную или SELECT инструкцию, которая оценивается в одно значение. Вот некоторые примеры.
Имя переменной, например
@IntegerCounter.Арифметическая операция в переменной, например
@IntegerCounter + 1.Операция со строками на основе двух символьных переменных, например
@FirstName + @LastName.Оператор
SELECT, возвращающий одно значение, например:SELECT CharCol FROM MyTable WHERE PrimaryKey = 1.
В четырех окнах мониторинга отображаются сведения о выбранных переменных и выражениях. Набор выражений, перечисленных в окнах наблюдения, не изменяется, пока вы не добавите или удалите выражения из списка.
Чтобы добавить выражение в окно "Просмотр ", введите имя выражения в столбце "Имя " пустой строки в окне "Контроль ". Вы также можете выбрать QuickWatch в меню отладки , ввести выражение, а затем нажмите кнопку "Добавить часы".
Вы можете задать значения данных для переменных в окнах 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, выполняемых во время сеанса отладки. Вкладка "Сообщения" продолжает отображать системные сообщения, такие как количество затронутых строк и выходные данные инструкций PRINT и RAISERROR.