ICorDebugThread::SetDebugState (Método)
Establece los marcadores que describen el estado de depuración de esta instancia de ICorDebugThread.
HRESULT SetDebugState (
[in] CorDebugThreadState state
);
Parámetros
- state
[in] Combinación bit a bit de los valores de la enumeración CorDebugThreadState que especifican el estado de depuración de este subproceso.
Comentarios
SetDebugState establece el estado de depuración actual del subproceso. (El "estado de depuración actual" representa el estado de depuración si el proceso fuera a continuar, no el estado actual real). El valor normal es THREAD_RUNNING. Sólo el depurador puede afectar al estado de depuración de un subproceso. Los estados de depuración se mantienen durante las continuaciones, por lo que si desea mantener un subproceso THREAD_SUSPENDed en varias continuaciones, puede establecerlo una vez y no volver a preocuparse. Suspender los subprocesos y reanudar el proceso puede producir interbloqueos aunque, por lo general, es improbable. Ésta es una cualidad intrínseca de subprocesos y procesos debida al diseño. Un depurador puede interrumpir y reanudar de forma asincrónica los subprocesos para interrumpir el interbloqueo. Si el estado de usuario del subproceso incluye USER_UNSAFE_POINT, es posible que el subproceso bloquee una recolección de elementos no utilizados (GC). Esto significa que el subproceso suspendido tiene una probabilidad mucho más alta de producir un interbloqueo. Esto puede no afectar a eventos de depuración que ya están en la cola. Por lo tanto, un depurador debe purgar la cola de eventos completa (llamando a ICorDebugController::HasQueuedCallbacks) antes de suspender o reanudar los subprocesos. De lo contrario, puede recibir eventos de un subproceso que cree que ya ha suspendido.
Requisitos
Plataformas: vea Requisitos de sistema de .NET Framework.
Encabezado: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0