Partager via


Méthode IDebugControl3 ::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 RemainderIndex 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’expressions ; 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’expressions disponibles et leurs syntaxes, consultez Syntaxe des expressions numériques.

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ù, dans l’expression, l’erreur s’est produite.

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