Partager via


Méthode IDebugControl ::Evaluate (dbgeng.h)

La méthode Evaluate évalue une expression, en retournant le résultat.

Syntaxe

HRESULT Evaluate(
  [in]            PCSTR        Expression,
  [in]            ULONG        DesiredType,
  [out]           PDEBUG_VALUE Value,
  [out, optional] PULONG       RemainderIndex
);

Paramètres

[in] Expression

Spécifie l’expression à évaluer.

[in] DesiredType

Spécifie le type de retour souhaité. Les valeurs possibles sont décrites dans DEBUG_VALUE ; avec l’ajout de DEBUG_VALUE_INVALID, ce qui indique que le type de retour doit être le type naturel de l’expression.

[out] Value

Reçoit la valeur de l’expression.

[out, optional] RemainderIndex

Reçoit l’index du premier caractère de l’expression non utilisée dans l’évaluation. Si ResteIndex a la valeur NULL, ces informations ne sont pas retournées.

Valeur retournée

Cette méthode peut également retourner d’autres valeurs d’erreur. Pour plus d’informations, consultez Valeurs de retour.

Code de retour Description
S_OK
La méthode a réussi.
E_FAIL
Une erreur s’est produite lors de l’évaluation de l’expression. Par exemple, il y a eu une erreur de syntaxe, une variable non définie ou une division par zéro exception.

Remarques

Les expressions sont évaluées par l’évaluateur d’expression actuel. Le moteur contient plusieurs évaluateurs d’expression ; chacune prend en charge une syntaxe différente. L’évaluateur d’expression actuelle peut être choisi à l’aide de SetExpressionSyntax.

Pour plus d’informations sur les évaluateurs d’expression disponibles et leurs syntaxes, consultez Syntaxe d’expression numérique.

Si une erreur se produit lors de l’évaluation de l’expression, en retournant E_FAIL, la variable RemainderIndex peut être utilisée pour déterminer approximativement où l’erreur s’est produite dans l’expression.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête dbgeng.h (inclure Dbgeng.h)

Voir aussi

GetExpressionSyntax

IDebugControl

IDebugControl2

IDebugControl3

SetExpressionSyntax

SetExpressionSyntaxByName