Interface ICorDebugManagedCallback
Fornece métodos para retornos de chamada do processo de depurador.
interface ICorDebugManagedCallback : IUnknown {
HRESULT _stdcall Break(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugThread* thread);
HRESULT _stdcall Breakpoint(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugThread* pThread,
[in] ICorDebugBreakpoint* pBreakpoint);
HRESULT _stdcall BreakpointSetError(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugThread* pThread,
[in] ICorDebugBreakpoint* pBreakpoint,
[in] unsigned long dwError);
HRESULT _stdcall ControlCTrap([in] ICorDebugProcess* pProcess);
HRESULT _stdcall CreateAppDomain(
[in] ICorDebugProcess* pProcess,
[in] ICorDebugAppDomain* pAppDomain);
HRESULT _stdcall CreateProcess([in] ICorDebugProcess* pProcess);
HRESULT _stdcall CreateThread(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugThread* thread);
HRESULT _stdcall DebuggerError(
[in] ICorDebugProcess* pProcess,
[in] HRESULT errorHR,
[in] unsigned long errorCode);
HRESULT _stdcall EditAndContinueRemap(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugThread* pThread,
[in] ICorDebugFunction* pFunction,
[in] long fAccurate);
HRESULT _stdcall EvalComplete(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugThread* pThread,
[in] ICorDebugEval* pEval);
HRESULT _stdcall EvalException(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugThread* pThread,
[in] ICorDebugEval* pEval);
HRESULT _stdcall Exception(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugThread* pThread,
[in] long unhandled);
HRESULT _stdcall ExitAppDomain(
[in] ICorDebugProcess* pProcess,
[in] ICorDebugAppDomain* pAppDomain);
HRESULT _stdcall ExitProcess([in] ICorDebugProcess* pProcess);
HRESULT _stdcall ExitThread(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugThread* thread);
HRESULT _stdcall LoadAssembly(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugAssembly* pAssembly);
HRESULT _stdcall LoadClass(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugClass* c);
HRESULT _stdcall LoadModule(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugModule* pModule);
HRESULT _stdcall LogMessage(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugThread* pThread,
[in] long lLevel,
[in] unsigned short* pLogSwitchName,
[in] unsigned short* pMessage);
HRESULT _stdcall LogSwitch(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugThread* pThread,
[in] long lLevel,
[in] unsigned long ulReason,
[in] unsigned short* pLogSwitchName,
[in] unsigned short* pParentName);
HRESULT _stdcall NameChange(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugThread* pThread);
HRESULT _stdcall StepComplete(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugThread* pThread,
[in] ICorDebugStepper* pStepper,
[in] CorDebugStepReason reason);
HRESULT _stdcall UnloadAssembly(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugAssembly* pAssembly);
HRESULT _stdcall UnloadClass(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugClass* c);
HRESULT _stdcall UnloadModule(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugModule* pModule);
HRESULT _stdcall UpdateModuleSymbols(
[in] ICorDebugAppDomain* pAppDomain,
[in] ICorDebugModule* pModule,
[in] IStream* pSymbolStream);
};
Métodos
Método |
Descrição |
---|---|
Notifica o depurador quando um Break instrução no fluxo de código é executada. |
|
Notifica o depurador quando um ponto de interrupção é encontrado. |
|
Notifica o depurador que o common linguagem tempo de execução (CLR) não pôde BIND um ponto de interrupção foi definido antes de uma função era just-in-time (JIT) compilado com precisão. |
|
Notifica o depurador que um CTRL+C é interceptado no processo que está sendo depurado. |
|
Notifica o depurador de um domínio do aplicativo foi criado. |
|
Notifica o depurador quando um processo foi anexado ou iniciado pela primeira vez. |
|
Notifica o depurador que um thread iniciou a execução do código gerenciado. |
|
Notifica o depurador que ocorreu um erro ao tentar manipular um evento do CLR. |
|
preterido. Notifica o depurador que um evento de remapeamento foi enviado ao IDE. |
|
Notifica o depurador uma avaliação foi concluída. |
|
Notifica o depurador que uma avaliação foi finalizada com uma exceção sem tratamento. |
|
Notifica o depurador que uma exceção foi apresentada no código gerenciado. |
|
Notifica o depurador que um domínio do aplicativo foi encerrado. |
|
Notifica o depurador que um processo foi encerrado. |
|
Notifica o depurador que um segmento que estava executando código gerenciado foi encerrado. |
|
Notifica o depurador que um módulo (assembly) CLR foi carregado com êxito. |
|
Notifica o depurador se uma classe foi carregada. |
|
Notifica o depurador se um módulo CLR foi carregado com êxito. |
|
Notifica o depurador gerenciado de um CLR thread chamou um método no EventLog classe para registrar um evento. |
|
Notifica o depurador que um segmento CLR gerenciado chamou um método no Switch classe para criar, modificar ou excluir um comutador/rastreamento de depuração. |
|
Notifica o depurador que o nome de um domínio do aplicativo ou thread foi alterado. |
|
Notifica o depurador que concluiu uma etapa. |
|
Notifica o depurador de um módulo (assembly) CLR foi descarregado. |
|
Notifica o depurador que uma classe está sendo descarregada. |
|
Notifica o depurador de um módulo CLR (DLL) foi descarregado. |
|
Notifica o depurador que os símbolos para um módulo CLR foram alterados. |
Comentários
Todos os retornos de chamada são serializados, chamados no mesmo thread e chamados com o processo no estado sincronizado.
Cada implementação de retorno de telefonar deve chamar ICorDebugController::Continue para continuar a execução. If ICorDebugController::Continue não é chamado antes que o retorno de chamada retorna, o processo permanecerá parado e nenhum retorno de chamada de evento mais ocorrerá até ICorDebugController::Continue é chamado.
Um depurador deve implementar ICorDebugManagedCallback2 se ele estiver depurando aplicativos .NET estrutura versão 2.0. Uma instância de ICorDebugManagedCallback ou ICorDebugManagedCallback2 é passado sistema autônomo o objeto de retorno de chamada para ICorDebug::SetManagedHandler.
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 ICorDebugManagedCallback2