IDebugStackFrame3
Toto rozhraní rozšiřuje IDebugStackFrame2 pro zpracování zachycených výjimek.
Syntaxe
IDebugStackFrame3 : IDebugStackFrame2
Poznámky pro implementátory
Ladicí modul (DE) implementuje toto rozhraní na stejném objektu, který implementuje IDebugStackFrame2 rozhraní pro podporu zachycených výjimek.
Poznámky pro volající
Volání QueryInterface v IDebugStackFrame2
rozhraní získat toto rozhraní.
Metody v pořadí Vtable
Kromě metod zděděných z IDebugStackFrame2 IDebugStackFrame3
zveřejňuje následující metody.
metoda | Popis |
---|---|
InterceptCurrentException | Zpracuje výjimku pro aktuální rámec zásobníku před jakýmkoli běžným zpracováním výjimek. |
GetUnwindCodeContext | Vrátí kontext kódu, pokud došlo k uvolnění zásobníku. |
Poznámky
Zachycená výjimka znamená, že ladicí program může zpracovat výjimku před voláním normálních rutin zpracování výjimek v době běhu. Zachycení výjimky v podstatě znamená, že doba běhu předstírání, že existuje obslužná rutina výjimky, i když neexistuje.
- InterceptCurrentException se volá během všech normálních událostí zpětného volání výjimky (jedinou výjimkou je, že ladíte kód smíšeného režimu (spravovaný a nespravovaný kód), v takovém případě se výjimka nedá zachytit během posledního náhodného zpětného volání). Pokud de neimplementuje
IDebugStackFrame3
nebo de vrátí chybu z IDebugStackFrame3::InterceptCurrentException
(napříkladE_NOTIMPL
), ladicí program zpracuje výjimku normálně.
Když ladicí program zachytí výjimku, může uživateli umožnit provádět změny stavu ladění programu a pak pokračovat v provádění v okamžiku, kdy byla výjimka vyvolána.
Poznámka:
Zachycené výjimky jsou povoleny pouze ve spravovaném kódu, to znamená v programu, který běží v modulu CLR (Common Language Runtime).
Ladicí modul označuje, že podporuje zachycení výjimek nastavením parametru metricExceptions na hodnotu 1 za běhu pomocí SetMetric
funkce. Další informace naleznete v tématu Pomocné rutiny sady SDK pro ladění.
Požadavky
Hlavička: msdbg.h
Obor názvů: Microsoft.VisualStudio.Debugger.Interop
Sestavení: Microsoft.VisualStudio.Debugger.Interop.dll