Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Proporciona métodos para permitir que el depurador ejecute código dentro del contexto del código que se está depurando.
Methods
| Método | Description |
|---|---|
| Abort (método) | Anula el cálculo que este ICorDebugEval objeto está realizando actualmente. |
| CallFunction (método) | Configura una llamada a la función especificada. (Obsoleto; use ICorDebugEval2::CallParameterizedFunction en su lugar). |
| CreateValue (método) | Obtiene un puntero de interfaz a un objeto "ICorDebugValue" del tipo especificado, con un valor inicial de cero o null. (Obsoleto; use ICorDebugEval2::CreateValueForType en su lugar). |
| GetResult (método) | Obtiene un puntero de interfaz a un ICorDebugValue objeto que contiene los resultados de la evaluación. |
| GetThread (método) | Obtiene un puntero de interfaz al "ICorDebugThread" donde se ejecuta esta evaluación o se ejecutará. |
| IsActive (método) | Obtiene un valor que indica si este ICorDebugEval objeto se está ejecutando actualmente. |
| NewArray (método) | Asigna una nueva matriz del tipo de elemento y las dimensiones especificados. (Obsoleto; use ICorDebugEval2::NewParameterizedArray en su lugar). |
| NewObject (método) | Asigna una nueva instancia de objeto y llama al método de constructor especificado. (Obsoleto; use ICorDebugEval2::NewParameterizedObject en su lugar). |
| NewObjectNoConstructor (método) | Asigna una nueva instancia de objeto del tipo especificado, sin intentar llamar a un método de constructor. (Obsoleto; use ICorDebugEval2::NewParameterizedObjectNoConstructor en su lugar). |
| NewString (método) | Asigna un nuevo objeto de cadena con el contenido especificado. |
Observaciones
Se ICorDebugEval crea un objeto en el contexto de un subproceso específico que se usa para realizar las evaluaciones. Todos los objetos y tipos usados en una evaluación determinada deben residir en el mismo dominio de aplicación. Ese dominio de aplicación no debe ser el mismo que el dominio de aplicación actual del subproceso. Las evaluaciones se pueden anidar.
Las operaciones de la evaluación no se completan hasta que el depurador llama a ICorDebugController::Continue y, a continuación, recibe una devolución de llamada ICorDebugManagedCallback::EvalComplete . Si necesita usar la funcionalidad de evaluación sin permitir que otros subprocesos se ejecuten, suspenda los subprocesos mediante ICorDebugController::SetAllThreadsDebugState o ICorDebugController::Stop antes de llamar a ICorDebugController::Continue.
Dado que el código de usuario se está ejecutando cuando la evaluación está en curso, se pueden producir eventos de depuración, incluidas las cargas de clase y los puntos de interrupción. El depurador recibirá devoluciones de llamada, como normales, para estos eventos. El estado de la evaluación se verá como parte de la inspección del estado normal del programa. La cadena de pila será una CHAIN_FUNC_EVAL cadena (vea la enumeración "CorDebugStepReason" y el método ICorDebugChain::GetReason ). La API completa del depurador seguirá funcionando como normal.
Si surge una situación de bucle inbloqueo o infinito, es posible que el código de usuario nunca se complete. En tal caso, debe llamar a ICorDebugEval::Abort antes de reanudar el programa.
Nota:
Esta interfaz no admite la llamada remota, ya sea entre máquinas o entre procesos.
Requisitos
Plataformas: Consulte Sistemas operativos compatibles con .NET.
Encabezado: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versiones de .NET: Disponible desde .NET Framework 1.0