MDAInfo 結構

提供 Event_MDAFired 事件的詳細資料,此事件會觸發建立受控偵錯助理 (MDA)。

語法

typedef struct _MDAInfo {  
    LPCWSTR  lpMDACaption;  
    LPCWSTR  lpMDAMessage  
} MDAInfo;  

成員

member 描述
lpMDACaption 目前 MDA 的標題。 標題描述觸發 Event_MDAFired 事件的失敗類型。
lpMDAMessage 目前 MDA 所提供的輸出訊息。

備註

受控偵錯助理 (MDA) 是偵錯輔助工具,可搭配 Common Language Runtime (CLR) 來執行工作,例如在執行階段執行引擎中識別不正確條件,或傾印有關引擎狀態的其他資訊。 MDA 會產生與難以捕捉之事件有關的 XML 訊息。 MDA 特別適合針對受控和非受控程式碼間的轉換進行偵錯。

當觸發 MDA 建立的事件時,執行階段會採取下列步驟:

  • 如果主機未藉由呼叫 ICLROnEventManager::RegisterActionOnEvent 通知為 Event_MDAFired 事件來註冊 IActionOnCLREvent 執行個體,則執行階段會繼續執行其預設的非裝載行為。

  • 如果主機已註冊此事件的處理常式,執行階段會檢查偵錯工具是否附加至流程。 如果是,執行階段會中斷並進入偵錯工具。 偵錯工具繼續時,它會呼叫主機。 如果沒有附加偵錯工具,則執行階段會呼叫 IActionOnCLREvent::OnEvent 並將指標傳遞至 MDAInfo 執行個體做為 data 參數。

主機可以選擇啟動 MDA,並在 MDA 啟動時收到通知。 這可讓主機有機會覆寫預設行為,並中止引發事件的受控執行緒,以防止它損毀程序狀態。 如需了解關於使用 MDA 的詳細資訊,請參閱診斷受控偵錯助理的錯誤

規格需求

平台:請參閱系統需求

標題:MSCorEE.idl

程式庫:包含作為 MSCorEE.dll 中的資源

.NET Framework版本:自 2.0 起可用

另請參閱