Окно «Стек вызовов»
В окне Стек вызовов отображаются модули в стеке вызова, а также типы данных и значения всех параметров, передаваемых в модули. К модулям Transact-SQL относятся хранимые процедуры, функции и триггеры. Чтобы отобразить стек вызова, необходимо находиться в режиме отладки.
Доступ к окну «Стек вызовов»
- В меню Отладка укажите Окна и выберите пункт Стек вызовов.
Изменение текущего кадра стека в стеке вызовов
Можно использовать любую из следующих процедур, чтобы сделать один из кадров стека текущим кадром.
Щелкните правой кнопкой мыши кадр стека и выберите команду Перейти к кадру.
Дважды щелкните кадр стека.
Просмотр источника кадра, отличного от текущего кадра
- Щелкните правой кнопкой мыши кадр стека и выберите команду Перейти к исходному коду.
Кадры стека
Каждая строка в окне Стек вызовов называется кадром стека и представляет либо вызов модуля из файла сценария Transact-SQL, либо вызов одного модуля из другого модуля. Нижний кадр стека на экране показывает ту строку в окне редактора запросов компонента Database Engine, в которой был сделан первый вызов в стеке. Верхняя строка указывает строку, на которой отладчик приостановил выполнение, и обозначается желтой стрелкой в левом поле окна. Каждая промежуточная строка указывает модуль и номер строки исходного кода, в котором произошел вызов следующего, вышестоящего кадра стека.
Все выражения в окнах Локальные значения, Контрольные значения и Быстрый просмотр вычисляются на основе текущего кадра стека. В окне «Редактор запросов» отображается код текущего кадра. По умолчанию текущим кадром стека является кадр, в котором отладчик Transact-SQL приостановил выполнение. После перехода от текущего кадра стека к другому, выражения в окнах Локальные значения, Контрольные значения и Быстрый просмотр повторно вычисляются в контексте нового кадра, и в окне редактора запросов отображается исходный код, относящийся к новому кадру.
Столбцы
Имя
Отображается информация о модуле в стеке вызова.В нижней строке в стеке вызова в поле Имя указано окно источника редактора запросов и номер строки первого вызова в стеке. В других строках поле Имя имеет формат Модуль(Экземпляр.База_данных)(Список_параметров) Номер_строки.
Модуль
Представляет собой имя хранимой процедуры, функции или хранимой процедуры, вызвавшей следующий кадр.Экземпляр.База данных
Обозначает экземпляр компонента Database Engine и базу данных, в которой содержится модуль.Список параметров
Указывает тип данных, имя и значение каждого параметра, переданного во время вызова в модуль.Номер строки
Для всех строк, кроме верхней строки, значение Номер строки указывает, в какой строке модуля вызван этот кадр. Для верхней строки значение Номер строки указывает строку, которая в настоящее время находится в фокусе в отладчике.
Язык
Отображается Transact-SQL для Transact-SQL.
См. также