Partager via


IDebugStackFrame3

Cette interface étend IDebugStackFrame2 pour gérer des exceptions interceptées.

IDebugStackFrame3 : IDebugStackFrame2

Remarques à l'intention des implémenteurs

Le moteur (DE) de débogage implémente cette interface sur le même objet qui implémente l'interface d' IDebugStackFrame2 pour prendre en charge des exceptions interceptées.

Remarques pour les appelants

Appelez QueryInterface à une interface de IDebugStackFrame2 pour obtenir cette interface.

méthodes en commande de Vtable

En plus de les méthodes héritées d' IDebugStackFrame2, IDebugStackFrame3 expose les méthodes suivantes.

Méthode

Description

IDebugStackFrame3 : : InterceptCurrentException

Gère une exception pour le frame de pile actuel avant les gestions d'exceptions normale.

IDebugStackFrame3 : : GetUnwindCodeContext

Retourne un contexte de code si le déroulement de pile devait se produire.

Notes

Une exception interceptée signifie qu'un débogueur peut traiter une exception avant les routines normales de gestion des exceptions soient appelées par le runtime. Les moyens de interception d'une exception en effectuant le runtime feignent qu'il existe un présent de gestionnaire d'exceptions même s'il n'existe pas.

IDebugStackFrame3 : : InterceptCurrentException est appelé pendant tous les événements de rappel d'exception normale (la seule exception est si vous déboguez du code en mode mixte (code managé et non managé), auquel cas l'exception ne peut pas être interceptée pendant le rappel de dernier-occasion). Si le De n'implémente pas IDebugStackFrame3, ou le De retourne une erreur d'IDebugStackFrame3 : :InterceptCurrentException (tel qu' E_NOTIMPL), le débogueur gérera l'exception normalement.

En interceptant une exception, le débogueur peut permettre à l'utilisateur d'apporter des modifications à l'état du programme débogué puis pour reprendre l'exécution au moment où l'exception a été levée.

Notes

Il permet des exceptions interceptées uniquement dans le code managé, c. autrement dit., dans un programme qui s'exécute sous le common langage (CLR) runtime.

Un moteur de débogage indique qu'il prend en charge les exceptions de interception en définissant des « metricExceptions » à la valeur 1 au moment de l'exécution à l'aide de la fonction d' SetMetric . Pour plus d'informations, consultez Programmes d'assistance du Kit de développement logiciel pour le débogage.

Configuration requise

en-tête : msdbg.h

l'espace de noms : Microsoft.VisualStudio.Debugger.Interop

Assembly : Microsoft.VisualStudio.Debugger.Interop.dll

Voir aussi

Référence

IDebugStackFrame2

Programmes d'assistance du Kit de développement logiciel pour le débogage

Concepts

Les interfaces principales