Share via


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 获取调试引擎的 ID GUID。
公共属性 Name 获取 Engine 对象的名称。
公共属性 Parent 获取 Engine 对象的直接父对象。

页首

备注

用于确定调试器将基于代码进行调试的方法。 这对应于**“附加到进程”**窗口。

Engine 对象用于指定要在给定进程中调试的程序类型。 例如,如果要在进程内只调试托管代码,则使用“公共语言运行时”调试引擎附加到进程。如果要同时调试进程的托管部分和未托管部分,请使用“Interop COM+”引擎附加到进程。

备注

当您使用 Transact-SQL 调试引擎记录某个宏并附加到调试进程时,该宏将返回对同一个引擎名的两个单独引用。例如,dbgeng(0) = transprt.Engines.Item("T-SQL") 和 dbgeng(1) = transprt.Engines.Item("T-SQL")。之所以发生此情况,是因为在 Visual Studio 中实际存在两个基础 Transact-SQL 调试引擎:一个用于 SQL Server 2005 调试引擎,另一个用于 SQL Server 2000 和 SQL Server 7 的 Transact-SQL 调试引擎。在通过 UI 附加到调试引擎进程时,将会自动引用这两个引擎,但是在自动化代码中,必须通过使用它们的唯一标识符 GUID 来引用它们。SQL Server 2005 的 GUID 是 {1202F5B4-3522-4149-BAD8-58B2079D704F},Transact-SQL 调试引擎的 GUID 是 {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

请参阅

参考

EnvDTE80 命名空间

Engines