ICorDebugUnmanagedCallback::D ebugEvent-metod
Meddelar felsökaren att en intern händelse har utlösts.
Syntax
HRESULT DebugEvent (
[in] LPDEBUG_EVENT pDebugEvent,
[in] BOOL fOutOfBand
);
Parametrar
pDebugEvent
[i] En pekare till den inbyggda händelsen.
fOutOfBand
[i] true
, om interaktion med det hanterade processtillståndet är omöjligt när en ohanterad händelse inträffar, tills felsökningsprogrammet anropar ICorDebugController::Fortsätt; annars . false
Kommentarer
Om tråden som debuggas är en Win32-tråd ska du inte använda några medlemmar i Win32-felsökningsgränssnittet. Du kan bara anropa ICorDebugController::Continue
på en Win32-tråd och bara när du fortsätter förbi en out-of-band-händelse.
Återanropet DebugEvent
följer inte standardreglerna för återanrop. När du anropar DebugEvent
kommer processen att vara i tillståndet rå, OS-felsökning stoppad. Processen synkroniseras inte. Det kommer automatiskt att ange det synkroniserade tillståndet när det behövs för att uppfylla begäranden om information om hanterad kod, vilket kan resultera i andra kapslade DebugEvent
återanrop.
Anropa ICorDebugProcess::ClearCurrentException på processen för att ignorera en undantagshändelse innan du fortsätter processen. Om du anropar den här metoden skickas DBG_CONTINUE i stället för DBG_EXCEPTION_NOT_HANDLED på fortsätt-begäran och rensar automatiskt out-of-band-brytpunkter och undantag i ett enda steg. Out-of-band-händelser kan komma när som helst, även när programmet som debugged visas stoppad och när det redan finns en utestående in-band-händelse.
I .NET Framework version 2.0 bör felsökningsprogrammet omedelbart fortsätta förbi en out-of-band-brytpunktshändelse. Felsökningsprogrammet bör använda metoderna ICorDebugProcess2::SetUnmanagedBreakpoint och ICorDebugProcess2::ClearUnmanagedBreakpoint för att lägga till och ta bort brytpunkter. Dessa metoder hoppar över eventuella out-of-band-brytpunkter automatiskt. Därför bör de enda out-of-band-brytpunkterna som skickas vara råa brytpunkter som redan finns i instruktionsströmmen, till exempel ett anrop till win32-funktionen DebugBreak
. Försök inte använda ICorDebugProcess::ClearCurrentException
, ICorDebugProcess::GetThreadContext, ICorDebugProcess::SetThreadContext eller någon annan medlem i felsöknings-API:et.
Krav
Plattformar: Se Systemkrav.
Rubrik: CorDebug.idl, CorDebug.h
Bibliotek: CorGuids.lib
.NET Framework-versioner: Finns sedan 1.0