Compartilhar via


Enumeração COR_PRF_SUSPEND_REASON

Indica o motivo pelo qual o runtime é suspenso.

Sintaxe

typedef enum {  
    COR_PRF_SUSPEND_OTHER                   = 0x00,  
    COR_PRF_SUSPEND_FOR_GC                  = 0x01,  
    COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN  = 0x02,  
    COR_PRF_SUSPEND_FOR_CODE_PITCHING       = 0x03,  
    COR_PRF_SUSPEND_FOR_SHUTDOWN            = 0x04,  
    COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER     = 0x06,  
    COR_PRF_SUSPEND_FOR_GC_PREP             = 0x07,    COR_PRF_SUSPEND_FOR_REJIT               = 8  
} COR_PRF_SUSPEND_REASON;  

Membros

Membro DESCRIÇÃO
COR_PRF_SUSPEND_OTHER O runtime é suspenso por um motivo não especificado.
COR_PRF_SUSPEND_FOR_GC O runtime é suspenso para atender a uma solicitação de coleta de lixo.

Os retornos de chamada relacionados à coleta de lixo ocorrem entre os retornos de chamada ICorProfilerCallback::RuntimeSuspendFinished e ICorProfilerCallback::RuntimeResumeStarted.
COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN O runtime é suspenso para que um AppDomain possa ser desligado.

Enquanto o runtime estiver suspenso, o runtime determinará quais threads estão no AppDomain que está sendo desligado e os configurará para anular quando forem retomados. Não há retornos de chamada específicos de AppDomain durante essa suspensão.
COR_PRF_SUSPEND_FOR_CODE_PITCHING O runtime é suspenso para que o pitching de código possa ocorrer.

O pitching de código ocorre somente quando o compilador JIT (just-in-time) está ativo com o pitching de código habilitado. Retornos de chamada de pitching de código ocorrem entre os retornos de chamada ICorProfilerCallback::RuntimeSuspendFinished e ICorProfilerCallback::RuntimeResumeStarted. Nota: o JIT do CLR não faz o pitch de funções no .NET Framework versão 2.0, portanto, esse valor não é usado na 2.0.
COR_PRF_SUSPEND_FOR_SHUTDOWN O runtime é suspenso para que ele possa desligar. Ele deve suspender todos os threads para concluir a operação.
COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER O runtime é suspenso para depuração em processo.
COR_PRF_SUSPEND_FOR_GC_PREP O runtime é suspenso para se preparar para uma coleta de lixo.
COR_PRF_SUSPEND_FOR_REJIT O runtime é suspenso para recompilação JIT.

Comentários

Todos os threads de runtime que estão em código não gerenciado têm permissão para continuar em execução até tentarem reentrar no runtime, momento em que também serão suspensos até que o runtime seja retomado. Isso também se aplica a novos threads que inserem o runtime. Todos os threads dentro do runtime serão suspensos imediatamente se estiverem em código interrompível ou solicitados a suspender quando chegarem ao código interrompível.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versões do .NET Framework: Disponíveis desde a versão 1.0

Confira também