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


Окно «Стек вызовов»

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

Доступ к окну «Стек вызовов»

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

Изменение текущего кадра стека в стеке вызовов

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

  • Щелкните правой кнопкой мыши кадр стека и выберите команду Перейти к кадру.

  • Дважды щелкните кадр стека.

Просмотр источника кадра, отличного от текущего кадра

  • Щелкните правой кнопкой мыши кадр стека и выберите команду Перейти к исходному коду.

Кадры стека

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

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

Столбцы

  • Имя
    Отображается информация о модуле в стеке вызова.

    В нижней строке в стеке вызова в поле Имя указано окно источника редактора запросов и номер строки первого вызова в стеке. В других строках поле Имя имеет формат Модуль(Экземпляр.База_данных)(Список_параметров) Номер_строки.

    • Модуль
      Представляет собой имя хранимой процедуры, функции или хранимой процедуры, вызвавшей следующий кадр.

    • Экземпляр.База данных
      Обозначает экземпляр компонента Database Engine и базу данных, в которой содержится модуль.

    • Список параметров
      Указывает тип данных, имя и значение каждого параметра, переданного во время вызова в модуль.

    • Номер строки
      Для всех строк, кроме верхней строки, значение Номер строки указывает, в какой строке модуля вызван этот кадр. Для верхней строки значение Номер строки указывает строку, которая в настоящее время находится в фокусе в отладчике.

  • Язык
    Отображается Transact-SQL для Transact-SQL.