Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Stellt Methoden bereit, mit denen der Debugger Code im Kontext des debuggten Codes ausführen kann.
Methodik
| Methode | Description |
|---|---|
| Abort-Methode | Bricht die Berechnung ab, die dieses ICorDebugEval Objekt derzeit ausführt. |
| CallFunction-Methode | Richtet einen Aufruf der angegebenen Funktion ein. (Veraltet; verwenden Sie stattdessen ICorDebugEval2::CallParameterizedFunction .) |
| CreateValue-Methode | Ruft einen Schnittstellenzeiger auf ein "ICorDebugValue"-Objekt des angegebenen Typs mit einem Anfangswert von Null oder Null ab. (Veraltet; verwenden Sie stattdessen ICorDebugEval2::CreateValueForType .) |
| GetResult-Methode | Ruft einen Schnittstellenzeiger auf eine ICorDebugValue , die die Ergebnisse der Auswertung enthält. |
| GetThread-Methode | Ruft einen Schnittstellenzeiger auf das "ICorDebugThread"-Element ab, in dem diese Auswertung ausgeführt wird oder ausgeführt wird. |
| IsActive-Methode | Ruft einen Wert ab, der angibt, ob dieses ICorDebugEval Objekt zurzeit ausgeführt wird. |
| NewArray-Methode | Weist ein neues Array des angegebenen Elementtyps und der angegebenen Dimensionen zu. (Veraltet; verwenden Sie stattdessen ICorDebugEval2::NewParameterizedArray .) |
| NewObject-Methode | Weist eine neue Objektinstanz zu und ruft die angegebene Konstruktormethode auf. (Veraltet; verwenden Sie stattdessen ICorDebugEval2::NewParameterizedObject .) |
| NewObjectNoConstructor-Methode | Weist eine neue Objektinstanz des angegebenen Typs zu, ohne eine Konstruktormethode aufzurufen. (Veraltet; verwenden Sie stattdessen ICorDebugEval2::NewParameterizedObjectNoConstructor .) |
| NewString-Methode | Weist ein neues Zeichenfolgenobjekt mit dem angegebenen Inhalt zu. |
Bemerkungen
Ein ICorDebugEval Objekt wird im Kontext eines bestimmten Threads erstellt, der zum Ausführen der Auswertungen verwendet wird. Alle Objekte und Typen, die in einer bestimmten Auswertung verwendet werden, müssen sich in derselben Anwendungsdomäne befinden. Diese Anwendungsdomäne muss nicht mit der aktuellen Anwendungsdomäne des Threads übereinstimmen. Auswertungen können geschachtelt werden.
Die Vorgänge der Auswertung werden erst abgeschlossen, wenn der Debugger ICorDebugController::Continue aufruft und dann einen ICorDebugManagedCallback::EvalComplete-Rückruf empfängt. Wenn Sie die Auswertungsfunktionalität verwenden müssen, ohne die Ausführung anderer Threads zuzulassen, setzen Sie die Threads entweder mit ICorDebugController::SetAllThreadsDebugState oder ICorDebugController::Stop vor dem Aufrufen von ICorDebugController::Continue.
Da Benutzercode ausgeführt wird, wenn die Auswertung ausgeführt wird, können alle Debugereignisse auftreten, einschließlich Klassenladevorgänge und Haltepunkte. Der Debugger empfängt Rückrufe wie gewohnt für diese Ereignisse. Der Zustand der Bewertung wird als Teil der Inspektion des normalen Programmzustands betrachtet. Die Stapelkette ist eine CHAIN_FUNC_EVAL Kette (siehe die "CorDebugStepReason"-Aufzählung und die ICorDebugChain::GetReason-Methode ). Die vollständige Debugger-API wird weiterhin normal ausgeführt.
Wenn eine inaktive oder unendliche Schleifensituation auftritt, kann der Benutzercode nie abgeschlossen werden. In diesem Fall müssen Sie ICorDebugEval::Abort aufrufen, bevor Sie das Programm fortsetzen.
Hinweis
Diese Schnittstelle unterstützt nicht die Remote-Aufrufe, entweder computerübergreifend oder prozessübergreifend.
Anforderungen
Plattformen: Siehe .NET unterstützte Betriebssysteme.
Kopfball: CorDebug.idl, CorDebug.h
Bibliothek: CorGuids.lib
.NET-Versionen: Verfügbar seit .NET Framework 1.0