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