Método ICorDebugThread::SetDebugState
Define sinalizadores que descrevem o estado de depuração deste ICorDebugThread.
HRESULT SetDebugState (
[in] CorDebugThreadState state
);
Parâmetros
- state
[in] Uma combinação de bit a bit de CorDebugthreadState valores de enumeração que especifica o estado de depuração disso thread.
Comentários
SetDebugState Define o estado corrente de depurar do thread. (O "estado corrente de depurar" representa o estado de depurar se o processo ser continuada, não o estado corrente real.) O valor normal é THREAD_RUNNING. Somente o depurador pode afetar o estado de depurar de um thread. depurar afirma última toda continua, se você desejar manter um segmento THREAD_SUSPENDed sobre múltiplo continua, você pode conjunto que uma vez e, daí em diante, não é preciso se preocupe. Suspendendo threads e reiniciando o processo podem causar deadlocks, embora seja improvável normalmente. Esta é uma qualidade intrínseca de segmentos e processos e é por design. Um depurador assincronamente pode interromper e retomar os threads para quebrar o deadlock. Se o estado do segmento usuário inclui USER_UNSAFE_POINT, o thread poderá bloquear uma coleta de lixo (GC). Isso significa que o thread suspenso tem uma chance muito maior de causar um deadlock. Isso pode afetar não depurar eventos já em na fila. Assim, um depurador deve dissipada a fila de eventos inteira (chamando ICorDebugController::HasQueuedCallbacks) antes de suspender ou retomar threads. Else ele pode receber eventos em um thread que acredita que já foi suspenso.
Requisitos
Plataformas: See Requisitos de sistema do .NET framework.
Cabeçalho: CorDebug.idl
Biblioteca: CorGuids.lib
.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0