Подсистема отладки

Подсистема отладки (DE) работает с интерпретатором или операционной системой для предоставления служб отладки, таких как управление выполнением, точки останова и оценка выражений. DE отвечает за мониторинг состояния отлаживаемой программы. Для этого DE использует все методы, доступные в поддерживаемой среде выполнения, будь то из ЦП или API, предоставляемых средой выполнения.

Например, среда CLR предоставляет механизмы мониторинга запущенной программы через интерфейсы ICorDebugXXX. Служба DE, поддерживающая среду CLR, использует соответствующие интерфейсы ICorDebugXXX для отслеживания отлаживаемой программы управляемого кода. Затем он передает любые изменения состояния диспетчеру отладки сеанса (SDM), который перенаправит такие сведения в интегрированную среду разработки Visual Studio.

Примечание.

Модуль отладки предназначен для определенной среды выполнения, то есть системы, в которой выполняется отладочная программа. Среда CLR — это среда выполнения управляемого кода, а среда выполнения Win32 — для собственных приложений Windows. Если создаваемый язык может быть предназначен для одной из этих двух сред выполнения, Visual Studio уже предоставляет необходимые модули отладки. Все, что необходимо реализовать, является вычислителем выражений.

Операция обработчика отладки

Службы мониторинга реализуются через интерфейсы DE и могут привести к переходу пакета отладки между различными рабочими режимами. Дополнительные сведения см. в разделе "Рабочие режимы". Обычно для среды выполнения используется только одна реализация DE.

Примечание.

Хотя существуют отдельные реализации DE для Transact-SQL и JScript, VBScript и JScript совместно используют один DE.

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

De предоставляет интерфейсы отладки Visual Studio. Все взаимодействие осуществляется через COM. Независимо от того, загружается ли de-process, out-process или на другом компьютере, он не влияет на связь компонентов.

DE работает с компонентом вычислителя выражений, чтобы включить DE для конкретной среды выполнения, чтобы понять синтаксис выражений. De также работает с компонентом обработчика символов, чтобы получить доступ к символьной отладочной информации, созданной компилятором языка. Дополнительные сведения см. в разделе "Средство оценки выражений " и поставщик символов.

См. также