Engine - интерфейс
Отладчик, который используется для сопоставления с типом кода.
Пространство имен: EnvDTE80
Сборка: EnvDTE80 (в EnvDTE80.dll)
Синтаксис
'Декларация
<GuidAttribute("8CEA6D39-EBEE-4DE9-B282-B5CECE9C9861")> _
Public Interface Engine
[GuidAttribute("8CEA6D39-EBEE-4DE9-B282-B5CECE9C9861")]
public interface Engine
[GuidAttribute(L"8CEA6D39-EBEE-4DE9-B282-B5CECE9C9861")]
public interface class Engine
[<GuidAttribute("8CEA6D39-EBEE-4DE9-B282-B5CECE9C9861")>]
type Engine = interface end
public interface Engine
Тип Engine предоставляет следующие члены.
Свойства
Имя | Описание | |
---|---|---|
AttachResult | Возвращает результат, указывающий, произошел ли сбой во вложенном отладчике. | |
Collection | Возвращает коллекцию Engines. | |
DTE | Возвращает объект расширения верхнего уровня. | |
ID | Возвращает идентификатор GUID отладчика. | |
Name | Возвращает имя объекта Engine. | |
Parent | Возвращает непосредственный родительский объект объекта Engine. |
В начало страницы
Заметки
Используется для определения способа отладки отладчиком на основании кода. Соответствует окну Присоединение к процессу.
Объект Engine используется для указания типов программ, которые должны отлаживаться в данном процессе. Например, если в процессе следует отлаживать только управляемый код, то следует присоединиться к процессу с использованием отладчика среды CLR. Для отладки управляемой и неуправляемой частей процесса следует присоединиться с использованием механизма взаимодействия COM +.
Примечание
При записи макроса и его подключении к процессу отладки с использованием отладчика Transact-SQL этот макрос возвращает две разные ссылки на одно имя отладчика.Например, dbgeng(0) = transprt.Engines.Item("T-SQL") и dbgeng(1) = transprt.Engines.Item("T-SQL").Это происходит потому, что фактически существует два базовых отладчика Transact-SQL в Visual Studio: один для отладчика SQL Server 2005, другой для отладчика Transact-SQL SQL Server 2000 и SQL Server 7.Ссылки на них автоматически устанавливаются при прикреплении к процессу отладчика через пользовательский интерфейс, но в коде автоматизации ссылки на них необходимо задать с помощью их уникальных идентификаторов GUID.GUID для SQL Server 2005 — {1202F5B4-3522-4149-BAD8-58B2079D704F}, а GUID для отладчика Transact-SQL в SQL Server 2000 и SQL Server 7 — {5AF6F83C-B555-11D1-8418-00C04FA302A1}.Таким образом, указанные выше вызовы следует заменить на dbgeng(0) = trans.Engines.Item("{1202F5B4-3522-4149-BAD8-58B2079D704F}") и dbgeng(1) = trans.Engines.Item("{1202F5B4-3522-4149-BAD8-58B2079D704F}") соответственно.
Примеры
' Macro code.
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
Imports Microsoft.VisualBasic.ControlChars
Public Module Module1
Sub ShowDefaultEngines()
Dim dbg As EnvDTE80.Debugger2
dbg = DTE.Debugger
dbg.HexDisplayMode = True
Dim transport As EnvDTE80.Transport
transport = dbg.Transports.Item("default")
Dim engine As EnvDTE80.Engine
Dim strEngineList As String
For Each engine In transport.Engines
strEngineList = strEngineList + engine.Name + ", " + _
engine.ID + ", " + engine.AttachResult.ToString + NewLine
Next
MsgBox(strEngineList)
End Sub
End Module