Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Fornece notificação de que a execução de código encontrou um assistente de depuração gerenciado (MDA) no aplicativo que está sendo depurado.
Sintaxe
HRESULT MDANotification(
[in] ICorDebugController *pController,
[in] ICorDebugThread *pThread,
[in] ICorDebugMDA *pMDA
);
Parâmetros
pController [em] Um ponteiro para uma interface ICorDebugController que expõe o processo ou domínio de aplicativo no qual o MDA ocorreu.
Um depurador não deve fazer suposições sobre se o controlador é um processo ou um domínio de aplicativo, embora sempre possa consultar a interface para fazer uma determinação.
pThread [em] Um ponteiro para uma interface ICorDebugThread que expõe o thread gerenciado no qual o evento de depuração ocorreu.
Se o MDA ocorreu em um thread não gerenciado, o valor de pThread será null.
Você deve obter o ID de thread do sistema operacional (SO) do próprio objeto MDA.
pMDA [em] Um ponteiro para uma interface ICorDebugMDA que expõe as informações do MDA.
Observações
Um MDA é um aviso heurístico e não requer nenhuma ação explícita do depurador, exceto para chamar ICorDebugController::Continue para retomar a execução do aplicativo que está sendo depurado.
O Common Language Runtime (CLR) pode determinar quais MDAs são acionados e quais dados estão em qualquer MDA a qualquer momento. Portanto, os depuradores não devem criar nenhuma funcionalidade que exija padrões MDA específicos.
Os MDAs podem ser enfileirados e disparados logo após o MDA ser encontrado. Isso pode acontecer se o tempo de execução precisar esperar até atingir um ponto seguro para disparar o MDA, em vez de disparar o MDA quando o encontrar. Isso também significa que o tempo de execução pode disparar vários MDAs em um único conjunto de retornos de chamada enfileirados (semelhante a uma operação de evento "attach").
Um depurador deve liberar a referência a uma ICorDebugMDA instância imediatamente após retornar do MDANotification retorno de chamada, para permitir que o CLR recicle a memória consumida por um MDA. A liberação da instância pode melhorar o desempenho se muitos MDAs estiverem sendo acionados.
Requerimentos
Plataformas: Consulte Sistemas operacionais suportados pelo .NET.
Cabeçalho: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versões .NET: Disponível desde: .NET Framework 2.0