Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Fournit des méthodes pour permettre au débogueur d’exécuter du code dans le contexte du code en cours de débogage.
Méthodes
| Méthode | Descriptif |
|---|---|
| Abort, méthode | Abandonne le calcul que cet ICorDebugEval objet effectue actuellement. |
| CallFunction, méthode | Configure un appel à la fonction spécifiée. (Obsolète ; utilisez ICorDebugEval2 ::CallParameterizedFunction à la place.) |
| CreateValue, méthode | Obtient un pointeur d’interface vers un objet « ICorDebugValue » du type spécifié, avec une valeur initiale de zéro ou null. (Obsolète ; utilisez ICorDebugEval2 ::CreateValueForType à la place.) |
| GetResult, méthode | Obtient un pointeur d’interface vers un ICorDebugValue qui contient les résultats de l’évaluation. |
| GetThread, méthode | Obtient un pointeur d’interface vers le « ICorDebugThread » où cette évaluation s’exécute ou s’exécute. |
| IsActive, méthode | Obtient une valeur qui indique si cet ICorDebugEval objet est en cours d’exécution. |
| NewArray, méthode | Alloue un nouveau tableau du type d’élément et des dimensions spécifiés. (Obsolète ; utilisez ICorDebugEval2 ::NewParameterizedArray à la place.) |
| NewObject, méthode | Alloue une nouvelle instance d’objet et appelle la méthode de constructeur spécifiée. (Obsolète ; utilisez ICorDebugEval2 ::NewParameterizedObject à la place.) |
| NewObjectNoConstructor, méthode | Alloue une nouvelle instance d’objet du type spécifié, sans tenter d’appeler une méthode de constructeur. (Obsolète ; utilisez ICorDebugEval2 ::NewParameterizedObjectNoConstructor à la place.) |
| NewString, méthode | Alloue un nouvel objet de chaîne avec le contenu spécifié. |
Remarques
Un ICorDebugEval objet est créé dans le contexte d’un thread spécifique utilisé pour effectuer les évaluations. Tous les objets et 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 identique au domaine d’application actuel du thread. Les évaluations peuvent être imbriquées.
Les opérations de l’évaluation ne se terminent pas tant que le débogueur appelle ICorDebugController ::Continue, puis reçoit un rappel ICorDebugManagedCallback ::EvalComplete . Si vous devez utiliser la fonctionnalité d’évaluation sans autoriser l’exécution d’autres threads, suspendez les threads à l’aide de ICorDebugController ::SetAllThreadsDebugState ou ICorDebugController ::Stop avant d’appeler ICorDebugController ::Continue.
Étant donné que le code utilisateur est en cours d’exécution lorsque l’évaluation est en cours, tous les événements de débogage peuvent se produire, y compris les chargements de classes et les points d’arrêt. Le débogueur reçoit des rappels, comme normal, pour ces événements. L’état de l’évaluation sera considéré comme faisant partie de l’inspection de l’état normal du programme. La chaîne de pile est une CHAIN_FUNC_EVAL chaîne (voir 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 boucle infinie se produit, le code utilisateur peut ne jamais se terminer. Dans ce cas, vous devez appeler ICorDebugEval ::Abort avant de reprendre le programme.
Note
Cette interface ne prend pas en charge l’appel à distance, soit entre ordinateurs, soit interprocesseur.
Spécifications
Plates-formes: Consultez les systèmes d’exploitation pris en charge par .NET.
En-tête: CorDebug.idl, CorDebug.h
Bibliothèque: CorGuids.lib
Versions de .NET : Disponible depuis .NET Framework 1.0