Partager via


ICorDebugEval, interface

Fournit des méthodes pour permettre au débogueur d'exécuter le code à l'intérieur du contexte du code en cours de débogage.

Méthodes

Méthode

Description

ICorDebugEval::Abort, méthode

Abandonne le calcul que cet objet ICorDebugEval exécute actuellement.

ICorDebugEval::CallFunction, méthode

Paramètre un appel à la fonction spécifiée. (Obsolète dans la version 2.0 du .NET Framework ; utilisez à la place ICorDebugEval2::CallParameterizedFunction.)

ICorDebugEval::CreateValue, méthode

Obtient un pointeur d'interface vers un objet ICorDebugValue, interface du type spécifié, avec une valeur initiale de zéro ou null. (Obsolète dans .NET Framework 2.0 ; utilisez à la place ICorDebugEval2::CreateValueForType.)

ICorDebugEval::GetResult, méthode

Obtient un pointeur d'interface vers ICorDebugValue qui contient les résultats de l'évaluation.

ICorDebugEval::GetThread, méthode

Obtient un pointeur d'interface vers ICorDebugThread où cette évaluation est en cours d'exécution ou s'exécutera.

ICorDebugEval::IsActive, méthode

Obtient une valeur qui indique si cet objet ICorDebugEval est en cours d'exécution.

ICorDebugEval::NewArray, méthode

Alloue un nouveau tableau du type d'élément et des dimensions spécifiés. (Obsolète dans .NET Framework 2.0 ; utilisez à la place ICorDebugEval2::NewParameterizedArray.)

ICorDebugEval::NewObject, méthode

Alloue une nouvelle instance d'objet et appelle la méthode de constructeur spécifiée. (Obsolète dans .NET Framework 2.0 ; utilisez à la place ICorDebugEval2::NewParameterizedObject.)

ICorDebugEval::NewObjectNoConstructor, méthode

Alloue une nouvelle instance d'objet du type spécifié, sans tenter d'appeler une méthode de constructeur. (Obsolète dans .NET Framework 2.0 ; utilisez à la place ICorDebugEval2::NewParameterizedObjectNoConstructor.)

ICorDebugEval::NewString, méthode

Alloue un nouvel objet chaîne avec le contenu spécifié.

Notes

Un objet ICorDebugEval est créé dans le contexte d'un thread spécifique qui est utilisé pour exécuter les évaluations. Tous les objets et les types utilisés dans une évaluation donnée doivent résider dans le même domaine d'application. Ce domaine d'application n'a pas besoin d'être le domaine d'application en cours du thread. Les évaluations peuvent être imbriquées.

Les opérations de l'évaluation ne se terminent pas tant que le débogueur n'a pas appelé ICorDebugController::Continue, puis reçu un rappel ICorDebugManagedCallback::EvalComplete. Si vous devez utiliser les fonctionnalités de l'évaluation sans permettre à d'autres threads de s'exécuter, suspendez les threads en utilisant ICorDebugController::SetAllThreadsDebugState ou ICorDebugController::Stop avant d'appeler ICorDebugController::Continue.

Étant donné que le code utilisateur s'exécute lorsque l'évaluation est en cours, des événements de débogage peuvent se produire, notamment les chargements de classe et les points d'arrêt. Le débogueur recevra normalement des rappels pour ces événements. L'état de l'évaluation sera affiché dans le cadre de l'inspection de l'état du programme normal. La chaîne de la pile sera une chaîne CHAIN_FUNC_EVAL (consultez l'énumération CorDebugStepReason et la méthode ICorDebugChain::GetReason). L'API de débogueur complète continuera à fonctionner normalement.

Si une situation d'interblocage ou de boucles sans fin survient, il est possible que le code utilisateur ne se termine jamais. Dans ce cas, vous devez appeler ICorDebugEval::Abort avant de reprendre le programme.

RemarqueRemarque

Cette interface ne prend pas en charge l'appel à distance, intermachine ou interprocessus.

Spécifications

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : CorDebug.idl, CorDebug,h

Bibliothèque : CorGuids.lib

Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Voir aussi

Référence

ICorDebugEval2, interface

ICorDebugThread, interface

ICorDebugValue, interface

Autres ressources

Interfaces de débogage