다음을 통해 공유


Engine.ID 속성

디버깅 엔진의 ID GUID를 가져옵니다.

네임스페이스:  EnvDTE80
어셈블리:  EnvDTE80(EnvDTE80.dll)

구문

‘선언
ReadOnly Property ID As String
string ID { get; }
property String^ ID {
    String^ get ();
}
abstract ID : string with get
function get ID () : String

속성 값

형식: String
디버깅 엔진 ID가 GUID 형식으로 들어 있는 문자열입니다.

설명

참고

매크로를 기록하고 Transact-SQL 디버깅 엔진을 사용하여 디버깅 프로세스에 연결하면 이 매크로는 동일한 엔진 이름에 대해 서로 다른 두 개의 참조를 반환합니다.예를 들면, dbgeng(0) = transprt.Engines.Item("T-SQL") 및 dbgeng(1) = transprt.Engines.Item("T-SQL")처럼 표시해야 합니다.실제로 두 개의 내부 Transact-SQL디버깅 엔진, 즉 SQL Server 2000 및 SQL Server 7용 SQL Server 2005 디버깅 엔진과 Transact-SQL 디버깅 엔진이 Visual Studio에 있기 때문에 이 문제가 발생합니다.UI를 통해 디버깅 엔진 프로세스에 연결하는 경우 자동으로 두 엔진이 모두 참조되지만 자동화 코드에서는 고유 식별자 GUID를 사용하여 각 엔진을 참조해야 합니다.SQL Server 2005의 GUID는 {1202F5B4-3522-4149-BAD8-58B2079D704F}이고 SQL Server 2000 및 SQL Server 7에 대한 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

.NET Framework 보안

참고 항목

참조

Engine 인터페이스

EnvDTE80 네임스페이스

Engines