Compartilhar via


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

Consulte também

Referência

Interface ICorDebugThread

Interface ICorDebugThread2