Indexer les interfaces évaluateur d'expression
En écrivant un évaluateur (EE) d'expression, ainsi que le contexte d'évaluation, vous devez être familiarisé avec les interfaces suivantes.
descriptions d'interface
-
a une méthode unique, IDebugAddress : : GetAddress, qui obtient une structure de données qui représente le point actuel d'exécution. cette structure de données est l'un des trois arguments que le moteur de débogage (DE) passe à la méthode d' IDebugParsedExpression : : EvaluateSync évaluer une expression. Cette interface est généralement implémenté par le fournisseur de symbole.
-
A la méthode d' IDebugBinder : : Liaison , qui obtient la zone de mémoire qui contient la valeur actuelle d'un symbole. Donné à la fois la méthode contenante, représentée par un objet d' IDebugObject , le symbole lui-même, représenté par un objet d' IDebugField , IDebugBinder::Bind retourne la valeur du symbole. IDebugBinder est généralement implémenté par le De.
-
représente un type de données simple. Pour les types plus complexes, tels que les tableaux et les méthodes, utilisez les interfaces dérivées d' IDebugArrayField et d' IDebugMethodField , respectivement. IDebugContainerField est une autre interface dérivée importante qui représente des symboles contenant d'autres symboles, comme les méthodes ou des classes. L'interface d' IDebugField (et ses dérivés) est généralement implémenté par le fournisseur de symbole.
Un objet d' IDebugField peut être utilisé pour rechercher le nom et le type d'un symbole et, avec un objet d' IDebugBinder , peut être utilisé pour rechercher sa valeur.
-
représente les bits réels de la valeur à l'exécution d'un symbole. IDebugBinder : : Liaison prend un objet d' IDebugField , qui représente un symbole, et retourne un objet d' IDebugObject . La méthode d' IDebugObject : : GetValue retourne la valeur du symbole dans un tampon de mémoire. Un De implémentent généralement cette interface pour représenter la valeur d'une propriété en mémoire.
-
cette interface représente l'évaluateur d'expression elle-même. La méthode principale est IDebugExpressionEvaluator : : analysez, qui retourne une interface d' IDebugParsedExpression .
-
cette interface représente une expression analysée prête à être évalué. La méthode principale est IDebugParsedExpression : : EvaluateSync qui retourne un IDebugProperty2 représentant la valeur et le type de l'expression.
-
cette interface représente une valeur et son type et est le résultat d'une évaluation de l'expression.