IDebugStackFrame3

Этот интерфейс расширяет IDebugStackFrame2 для обработки перехватированных исключений.

Синтаксис

IDebugStackFrame3 : IDebugStackFrame2

Примечания для разработчиков

Модуль отладки (DE) реализует этот интерфейс на том же объекте, который реализует интерфейс IDebugStackFrame2 для поддержки перехватированных исключений.

Заметки для вызывающих абонентов

Вызов QueryInterface в интерфейсе IDebugStackFrame2 для получения этого интерфейса.

Методы в порядке таблицы Vtable

Помимо методов, унаследованных от IDebugStackFrame2, IDebugStackFrame3 предоставляет следующие методы.

Метод Description
InterceptCurrentException Обрабатывает исключение для текущего кадра стека перед любой регулярной обработкой исключений.
GetUnwindCodeContext Возвращает контекст кода, если будет происходить очистка стека.

Замечания

Перехваченное исключение означает, что отладчик может обработать исключение, прежде чем все обычные подпрограммы обработки исключений вызываются временем выполнения. Перехват исключения по сути означает, что время выполнения притворяется, что существует обработчик исключений, даже если нет.

  • InterceptCurrentException вызывается во время всех обычных событий обратного вызова исключений (единственным исключением является отладка кода смешанного режима (управляемый и неуправляемый код), в этом случае исключение не может быть перехвачено во время обратного вызова последнего шанса. Если de не реализуется IDebugStackFrame3, или DE возвращает ошибку из IDebugStackFrame3::InterceptCurrentException (например E_NOTIMPL, ), отладчик будет обрабатывать исключение обычно.

Перехватив исключение, отладчик может разрешить пользователю вносить изменения в состояние отлаживаемой программы, а затем возобновлять выполнение в точке возникновения исключения.

Примечание.

Перехватанные исключения разрешены только в управляемом коде, т. е. в программе, работающей в среде CLR.

Подсистема отладки указывает, что она поддерживает перехват исключений, задав параметр "metricExceptions" значение 1 во время выполнения с помощью SetMetric функции. Дополнительные сведения см. в справке по пакету SDK для отладки.

Requirements

Заголовок: msdbg.h

Пространство имен: Microsoft.VisualStudio.Debugger.Interop

Сборка: Microsoft.VisualStudio.Debugger.Interop.dll

См. также