共用方式為


核心介面

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

下列介面會使用擴充偵錯工具的核心介面Visual Studio SDK。

討論

若要建立偵錯引擎 (DE) 主要用於這些介面。 它們被依以下類別︰

  • 中斷點

  • 內容

  • 核心伺服器

  • 偵錯引擎

  • 文件

  • 事件

  • 運算式

  • 記憶體

  • 模組

  • 連接埠

  • 處理程序

  • 程式

  • 屬性

  • 堆疊框架

  • 執行緒

  • 類型的視覺化檢視

可以實作介面的實體包括︰

  • 偵錯引擎 (DE)

  • 連接埠供應商 (PS)

  • 運算式評估工具 (EE)

  • Visual Studio (VS)

中斷點

有關這些介面的實作和追蹤的中斷點。

介面 由下列實作 說明
IDebugBoundBreakpoint2 DE 表示繫結至記憶體位置的中斷點。
IDebugBreakpointBoundEvent2 DE 傳送 DE 中斷點繫結至記憶體位置。
IDebugBreakpointChecksumRequest2 VS 表示中斷點要求的文件總和檢查碼。
IDebugBreakpointErrorEvent2 DE 傳送 DE 中斷點無法繫結至記憶體位置時。
IDebugBreakpointEvent2 DE 在到達中斷點時,由 DE 傳送。
IDebugBreakpointRequest2 VS 表示要求的中斷點。用來建立暫止中斷點。
IDebugBreakpointRequest3 VS 表示要求的中斷點。用來建立暫止中斷點。
IDebugBreakpointResolution2 DE 代表用來將中斷點繫結的資訊。
IDebugBreakpointUnboundEvent2 DE 傳送 DE 中斷點解除繫結時從記憶體位置。
IDebugErrorBreakpoint2 DE 代表無效的中斷點 (由IDebugBreakpointErrorEvent2)。
IDebugErrorBreakpointResolution2 DE 表示無效的中斷點解析資訊。
IDebugFunctionPosition2 DE 表示函式中已設定中斷點的位置。
IDebugPendingBreakpoint2 DE 表示中斷點繫結。用來建立繫結的中斷點。
IEnumDebugBoundBreakpoints2 DE 表示列舉類型的繫結中斷點集合。
IEnumDebugErrorBreakpoints2 DE 代表一組不會繫結至記憶體位置的中斷點列舉型別。

內容

這些介面代表各種不同的偵錯程式內的內容。

介面 由下列實作 描述
IDebugCodeContext2 DE 表示程式碼指示的開始位置。
IDebugCodeContext3 DE 擴充IDebugCodeContext2介面,可讓模組和處理程序介面擷取。
IDebugDocumentContext2 VS DE 表示文件中的位置。
IDebugExpressionContext2 DE 表示要在其中評估運算式的內容。
IDebugMemoryContext2 DE 表示在記憶體中的位元組集合的起始位置。
IDebugStackFrame2 DE 表示在中斷點或例外狀況的堆疊框架內容。
IDebugStackFrame3 DE 表示在中斷點或例外狀況的堆疊框架內容。
IEnumDebugCodeContexts2 DE 表示列舉型別資料集的程式碼內容。

核心伺服器

這些介面代表一個程式正在偵錯的電腦。 這些由實作Visual Studio,但是可以呼叫到偵錯引擎。

介面 由下列實作 說明
IDebugCoreServer2 VS 提供存取權的連接埠和通訊埠供應商,以及電腦的相關資訊。
IDebugCoreServer3 VS 代表IDebugCoreServer2 ,支援遠端偵錯。

偵錯引擎

這些介面代表偵錯引擎和其相關聯的事件。

介面 由下列實作 描述
IDebugEngine2 DE 表示自訂偵錯引擎。
IDebugEngine3 DE 表示支援載入符號、 JustMyCode 和例外狀況的自訂偵錯引擎。
IDebugEngineCreateEvent2 DE 傳送 DE 每個新執行個體所表示它已準備好處理偵錯工作。
IDebugEngineLaunch2 DE 表示支援程式的啟動自訂的偵錯引擎。
IDebugProgramEngines2 DE、 PS 代表會處理多個偵錯引擎的程式節點。
IDebugQueryEngine2 DE 提供在 SDM 從執行緒、 程式或堆疊框架的偵錯引擎取得介面的方法。

文件

這些介面代表文件 (來源檔案) 和其相關聯的項目。

介面 由下列實作 說明
IDebugActivateDocumentEvent2 DE 透過 DE 傳送給要求要開啟的文件。
IDebugDisassemblyStream2 DE 表示從文件的反組譯指令資料流。
IDebugDocument2 VS DE 代表 DE、 指定名稱和類別識別碼 (CLSID) 所提供的文件。
IDebugDocumentChecksum2 DE、 EE 表示偵錯文件的總和檢查碼,並讓元件之間傳遞總和檢查碼。
IDebugDocumentContext2 VS DE 代表文件內容,對應到特定的陳述式和程式碼內容的文件中的位置。
IDebugDocumentPosition2 VS DE 表示文件中的一般位置。
IDebugDocumentPositionOffset2 VS 代表原始程式檔中的字元位移的位置。
IDebugDocumentText2 VS DE 代表 DE 所提供的文字文件 (衍生自IDebugDocument2),提供的實際文字。
IDebugDocumentTextEvents2 DE 若要指定記憶體中的原始程式檔的變更傳送 DE。

事件

這些介面代表 DE 與工作階段偵錯管理員 (SDM) 之間傳送的所有事件。

介面 由下列實作 說明
IDebugActivateDocumentEvent2 DE 透過 DE 傳送給要求要開啟的文件。
IDebugBeforeSymbolSearchEvent2 DE 偵錯引擎 (DE) 過程中傳送此介面至工作階段偵錯管理員 (SDM) 的狀態設定列訊息符號載入。
IDebugBreakEvent2 DE 中斷程式完成時傳送 DE。
IDebugBreakpointBoundEvent2 DE 中斷點繫結時,由 DE 傳送。
IDebugBreakpointErrorEvent2 DE 傳送 DE 中斷點無法繫結時。
IDebugBreakpointEvent2 DE 在到達中斷點時,由 DE 傳送。
IDebugBreakpointUnboundEvent2 DE 傳送 DE 中斷點解除繫結時。
IDebugCanStopEvent2 DE 傳送 DE 以判斷是否應該停止在特定位置。
IDebugDocumentTextEvents2 DE 若要指定記憶體中的原始程式檔的變更傳送 DE。
IDebugEngineCreateEvent2 DE 傳送 DE 每個新執行個體所表示它已準備好處理偵錯工作。
IDebugEntryPointEvent2 DE 傳送 DE,代表正在偵錯的程式已準備好要執行的第一個指令。
IDebugErrorEvent2 DE 介面,可由其他事件的介面,這可能會傳回錯誤,以提供人類可讀的錯誤訊息。
IDebugEvent2 DE、 PS 介面都衍生自其他所有事件的基底介面。
IDebugEventCallback2 VS 表示事件 (以實作特定的事件介面的物件) 會傳送至此 SDM 所實作的介面。
IDebugExceptionEvent2 DE 傳送 DE 時進行偵錯程式中發生例外狀況。
IDebugExpressionEvaluationCompleteEvent2 DE DE 非同步運算式評估完成時傳送。
IDebugFindSymbolEvent2 已過時。 請勿使用。
IDebugInterceptExceptionCompleteEvent2 DE DE 攔截的例外狀況的處理完成時傳送。
IDebugLoadCompleteEvent2 DE 傳送 DE 程式完成載入時。
IDebugMessageEvent2 DE 傳送 DE IDE 顯示告知性訊息給使用者。
IDebugModuleLoadEvent2 DE 載入或卸載模組時,由 DE 傳送。
IDebugNoSymbolsEvent2 DE 訊號Visual Studio偵錯工具的 UI 來警告使用者符號找不到啟動的可執行檔。
IDebugOutputStringEvent2 DE 傳送 IDE 顯示 DE 的任意字串。
IDebugPortEvents2 VS DE 透過連接埠傳送給任何接聽程式通訊連接埠事件。
IDebugProcessCreateEvent2 DE、 PS 在建立處理序時,由 DE 或連接埠傳送。
IDebugProcessDestroyEvent2 DE、 PS 處理程序已損毀時,由 DE 或連接埠傳送。
IDebugProgramCreateEvent2 DE、 PS 在建立程式時,由 DE 或連接埠傳送。
IDebugProgramDestroyEvent2 DE、 PS 程式已損毀時,由 DE 或連接埠傳送。
IDebugProgramDestroyEventFlags2 DE 可讓偵錯引擎,以覆寫預設行為Visual StudioUI 偵錯工作階段結束時。
IDebugProgramNameChangedEvent2 DE 程式的名稱變更時傳送從偵錯引擎 (DE) 工作階段偵錯管理員 (SDM)。
IDebugPropertyCreateEvent2 DE 傳送 DE 當新的屬性 (由IDebugProperty2介面) 建立。
IDebugPropertyDestroyEvent2 DE 屬性已損毀時,由 DE 傳送。
IDebugReturnValueEvent2 DE 傳送 DE 逐步超出或進入函式,因此可以正確顯示的傳回值時。
IDebugSettingsCallback2 VS 啟用偵錯引擎讀取度量設定遠端。
IDebugStepCompleteEvent2 DE DE 執行進入或超出指示的步驟完成時傳送。
IDebugSymbolSearchEvent2 DE 傳送 DE 以指示成功或失敗的載入模組的符號。
IDebugThreadCreateEvent2 DE 在建立執行緒時,由 DE 傳送。
IDebugThreadDestroyEvent2 DE 終結執行緒時,由 DE 傳送。
IDebugThreadNameChangedEvent2 DE 執行緒已變更其名稱時,由 DE 傳送。

運算式

這些介面代表在特定內容中評估的運算式。

介面 由下列實作 描述
IDebugExpression2 DE 表示要評估的運算式。 取自IDebugExpressionContext2介面。
IDebugExpressionContext2 DE 表示用來評估運算式的內容。 取自IDebugStackFrame2介面。
IDebugExpressionEvaluationCompleteEvent2 DE DE 非同步運算式評估完成時傳送。

記憶體

這些介面代表記憶體中的位元組的序列。

介面 由下列實作 說明
IDebugMemoryBytes2 DE 代表可讀取或寫入的記憶體中的位元組序列。
IDebugMemoryContext2 DE 表示的位元組序列的記憶體中的位置。

模組

這些介面代表一個模組,它對應至可執行檔或。DLL 檔案。

介面 由下列實作 描述
IDebugModule2 DE 代表單一可執行檔或 DLL。
IDebugModule3 DE 代表IDebugModule2支援符號。
IDebugModuleLoadEvent2 DE 載入或卸載模組時,由 DE 傳送。
IDebugSourceServerModule DE 代表 PDB 檔案中所含的來源伺服器資訊。
IEnumDebugModules2 DE 列舉型別代表一組已知的模組透過IDebugProgram2

連接埠

這些介面代表連接埠和通訊埠供應商。

介面 由下列實作 說明
IDebugDefaultPort2 VS PS 代表本機電腦上的預設連接埠。
IDebugFirewallConfigurationCallback2 VS 可讓偵錯引擎使用 DCOM 來問Visual StudioUI,請確定防火牆會封鎖遠端偵錯。
IDebugPort2 VS PS 代表連接埠。
IDebugPortEvents2 PS 透過連接埠傳送給任何接聽程式通訊連接埠事件。
IDebugPortEx2 PS 代表可以啟動和終止處理序的連接埠。
IDebugPortNotify2 PS 用來註冊和取消註冊程式與連接埠。可讓追蹤目前正在偵錯程式的連接埠。
IDebugPortPicker PS 表示自訂的 UI 中選取連接埠。
IDebugPortRequest2 VS 表示從新的連接埠會建立或位於連接埠的要求。
IDebugPortSupplier2 PS 表示連接埠的供應商。
IDebugPortSupplier3 PS 代表連接埠,可將該供應商 (儲存到磁碟) 它所建立的連接埠相關資訊。
IDebugPortSupplierDescription2 PS 可讓Visual Studio顯示文字方塊的 UI傳輸資訊區段附加至處理序對話方塊。
IDebugWindowsComputerPort2 VS 可讓目標電腦的相關資訊的查詢。
IEnumDebugPorts2 VS PS 表示列舉型別資料集的連接埠。
IEnumDebugPortSuppliers2 VS 表示列舉型別資料集的連接埠供應商。

處理程序

這些介面代表處理程序,單一的可執行檔,其中包含一或多個程式。

介面 由下列實作 描述
IDebugProcess2 PS、 DE 代表電腦執行的處理序。
IDebugProcess3 PS、 DE 表示正在支援的處理序偵錯 (用來取代步驟,繼續進行,並在執行方法IDebugProgram2介面)。
IDebugProcessCreateEvent2 DE、 PS 在建立處理序時,由 DE 或連接埠傳送。
IDebugProcessDestroyEvent2 DE、 PS 處理程序已損毀時,由 DE 或連接埠傳送。
IDebugProcessEx2 PS 表示必須追蹤哪些工作階段已附加至該程序。
IEnumDebugProcesses2 PS 代表一組連接埠上的處理序的列舉型別。

程式

這些介面代表邏輯單元不一定對應到實體的可執行檔或模組執行的程式。

介面 由下列實作 說明
IDebugEngineProgram2 DE 代表IDebugProgram2需要與其他同時進行偵錯的程式正常運作。
IDebugProgram2 DE、 PS 表示執行的邏輯單元。
IDebugProgramCreateEvent2 DE、 PS 在建立程式時,由 DE 或連接埠傳送。
IDebugProgramDestroyEvent2 DE、 PS 程式已損毀時,由 DE 或連接埠傳送。
IDebugProgramEngines2 DE、 PS 代表IDebugProgramNode2 ,可以由多個偵錯引擎。
IDebugProgramEx2 PS 代表IDebugProgram2必須要能追蹤哪一個工作階段已附加至該。
IDebugProgramHost2 DE、 PS 代表IDebugProgram2 ,可以傳回正在執行的程序的相關資訊。
IDebugProgramNode2 DE、 PS 表示可以進行偵錯的程式。
IDebugProgramNodeAttach2 DE、 PS 允許的嘗試附加至相關聯的程式通知程式節點。
IDebugProgramProvider2 DE 提供方法來查詢有關程式受到該 DE DE SDM。
IDebugProgramPublisher2 VS 使用 DEs 向 SDM 來顯示它們正在進行偵錯的程式。
IDebugProviderProgramNode2 DE、 PS 代表IDebugProgramNode2 ,可以跨封送處理介面執行緒或處理序界限。
IEnumDebugPrograms2 DE、 PS 代表一組程式的列舉型別。

屬性

這些介面代表屬性,與特定的內容,通常運算式評估的結果相關聯的值。

介面 由下列實作 描述
IDebugCustomViewer EE 代表IDebugProperty2 ,可以自訂方式來顯示它的值。
IDebugProperty2 DE 代表堆疊框架、 文件或運算式評估的結果值。
IDebugProperty3 DE 代表IDebugProperty2支援任意長度的字串。
IDebugPropertyCreateEvent2 DE 傳送 DE 當新的屬性 (由IDebugProperty2介面) 建立。
IDebugPropertyDestroyEvent2 DE 屬性已損毀時,由 DE 傳送。
IDebugReference2 DE 表示的屬性,可以存在於任何特定的堆疊框架以外的參考。
IEnumDebugPropertyInfo2 DE 表示列舉型別資料集的DEBUG_PROPERTY_INFO結構描述變數、 暫存器、 參數和運算式。
IEnumDebugReferenceInfo2 DE 表示列舉型別資料集的DEBUG_REFERENCE_INFO結構。

堆疊框架

這些介面代表堆疊框架,在內容中的中斷點或例外狀況發生。

介面 由下列實作 說明
IDebugStackFrame2 DE 表示內容中的中斷點或例外狀況發生。
IDebugStackFrame3 DE 代表IDebugStackFrame2此運算子可以處理攔截例外狀況。
IEnumCodePaths2 DE 表示列舉型別資料集的CODE_PATH結構而指定函式的呼叫順序用來到達特定的堆疊框架。
IEnumDebugFrameInfo2 DE 表示列舉型別資料集的FRAMEINFO結構描述的堆疊框架。

執行緒

這些介面代表執行緒和其相關聯的事件。

介面 由下列實作 描述
IDebugThread2 DE 表示執行的執行緒。
IDebugThreadCreateEvent2 DE 在建立執行緒時,由 DE 傳送。
IDebugThreadDestroyEvent2 DE 終結執行緒時,由 DE 傳送。
IDebugThreadNameChangedEvent2 DE 執行緒已變更其名稱時,由 DE 傳送。
IEnumDebugThreads2 DE 表示列舉型別資料集的執行緒。

類型的視覺化檢視

這些介面類型的視覺化檢視支援。 運算式評估工具,通常被實作這些介面。

介面 由下列實作 說明
IEEDataStorage EE 表示要提供給視覺化檢視類型的位元組陣列。
IPropertyProxyEESide EE 提供方法來取得要傳遞給型別視覺化檢視資料的存取權。
IPropertyProxyProvider EE 代表屬性,可用來存取IPropertyProxyEESide實作。

另請參閱

API 參考
建立自訂的偵錯引擎