IDebugStackFrame3
如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件。
這個介面延伸IDebugStackFrame2處理攔截的例外狀況。
語法
IDebugStackFrame3 : IDebugStackFrame2
實作者注意事項
偵錯引擎 (DE) 實作的相同物件上實作這個介面IDebugStackFrame2介面,以支援攔截的例外狀況。
呼叫端資訊
呼叫QueryInterface上IDebugStackFrame2
介面,以取得此介面。
依照 Vtable 順序的方法
除了繼承自方法IDebugStackFrame2,IDebugStackFrame3
公開下列方法。
方法 | 描述 |
---|---|
InterceptCurrentException | 處理目前的堆疊框架之前任何規則的例外狀況處理的例外狀況。 |
GetUnwindCodeContext | 發生堆疊回溯時,會傳回程式碼內容。 |
備註
攔截例外狀況表示偵錯工具在任何正常的例外狀況處理常式會呼叫執行階段之前,可處理例外狀況。 基本上,攔截例外狀況,表示將假裝就算沒有例外狀況處理常式的執行的時間。
InterceptCurrentException (唯一的例外是如果您正在偵錯混合模式程式碼 (managed 和 unmanaged 程式碼),在此情況下無法攔截例外狀況最後的機會獲得回呼期間) 的所有一般的例外狀況回呼事件期間呼叫。 如果未實作 DE IDebugStackFrame3
,DE IDebugStackFrame3 傳回錯誤或::InterceptCurrentException
(例如E_NOTIMPL
),則偵錯工具正常處理的例外狀況。
藉由攔截例外狀況,偵錯工具可以讓使用者對正在偵錯程式的狀態進行變更,然後繼續執行擲回的例外狀況之處。
注意
攔截例外狀況允許只能在 managed 程式碼,也就是在 Common Language Runtime (CLR) 執行的程式中。
偵錯引擎表示它支援攔截的例外狀況,藉由設定 「 metricExceptions 」 設為 1 的值在執行階段使用SetMetric
函式。 如需詳細資訊,請參閱SDK 協助程式進行偵錯。
需求
標頭︰ msdbg.h
命名空間︰ Microsoft.VisualStudio.Debugger.Interop
組件︰ Microsoft.VisualStudio.Debugger.Interop.dll