Interface IDataModelScriptDebugStack (dbgmodel.h)

Interface vers une pile dans le script. Le fournisseur de script implémente cette interface pour exposer la notion de pile d’appels au débogueur de script.

Héritage

IDataModelScriptDebugStack hérite de IUnknown.

Méthodes

L’interface IDataModelScriptDebugStack a ces méthodes.

 
IDataModelScriptDebugStack ::AddRef

La méthode IDataModelScriptDebugStack ::AddRef incrémente le nombre de références pour une interface sur un objet .
IDataModelScriptDebugStack ::GetFrameCount

La méthode GetFrameCount retourne le nombre de trames de pile dans ce segment de la pile des appels.
IDataModelScriptDebugStack ::GetStackFrame

Le GetStackFrame obtient une trame de pile particulière à partir du segment de pile.
IDataModelScriptDebugStack ::QueryInterface

La méthode IDataModelScriptDebugStack ::QueryInterface récupère les pointeurs vers les interfaces prises en charge sur un objet.
IDataModelScriptDebugStack ::Release

La méthode IDataModelScriptDebugStack ::Release décrémente le nombre de références pour une interface sur un objet .

Remarques

Lorsqu’un événement se produit et qu’il s’interrompt dans le débogueur de script, l’interface de débogage souhaite récupérer la pile des appels pour l’emplacement d’arrêt. Pour ce faire, utilisez la méthode GetStack. Cette pile est exprimée via IDataModelScriptDebugStack qui est défini comme indiqué ci-dessous.

Notez que la pile globale peut s’étendre sur plusieurs scripts et/ou plusieurs fournisseurs de scripts. La pile des appels retournée à partir d’un seul appel à la méthode GetStack sur l’interface de débogage d’un script particulier doit uniquement retourner le segment de la pile des appels dans les limites de ce script. Il est tout à fait possible qu’un moteur de débogage de script puisse récupérer la pile des appels comme s’étend sur plusieurs contextes de script si deux scripts du même fournisseur interagissent. La méthode GetStack ne doit pas retourner la partie de la pile qui se trouve dans un autre script. Au lieu de cela, si cette situation peut être détectée, le frame de pile qui est le cadre de limite dans le script doit se marquer lui-même en tant que frame de transition via une implémentation des méthodes IsTransitionPoint et GetTransition sur ce frame de pile. Il est attendu que l’interface du débogueur assemble la pile globale à partir des plusieurs segments de pile qui existent.

Il est impératif que les transitions soient implémentées de cette manière, sinon l’interface de débogage peut diriger les requêtes sur les variables locales, les paramètres, les points d’arrêt et d’autres constructions spécifiques au script vers le contexte de script incorrect. Cela entraîne un comportement non défini dans l’interface du débogueur.

Configuration requise

Condition requise Valeur
En-tête dbgmodel.h

Voir aussi

Vue d’ensemble du modèle de données C++ du débogueur