Methode ICorDebugUnmanagedCallback::D ebugEvent
Hiermee wordt het foutopsporingsprogramma aangegeven dat een systeemeigen gebeurtenis is geactiveerd.
Syntaxis
HRESULT DebugEvent (
[in] LPDEBUG_EVENT pDebugEvent,
[in] BOOL fOutOfBand
);
Parameters
pDebugEvent
[in] Een aanwijzer naar de systeemeigen gebeurtenis.
fOutOfBand
[in] true
, als interactie met de status van het beheerde proces onmogelijk is nadat een onbeheerde gebeurtenis plaatsvindt, totdat het foutopsporingsprogramma ICorDebugController:::Continue; anders, false
aanroept.
Opmerkingen
Als de thread die wordt opgespoord een Win32-thread is, gebruikt u geen leden van de Win32-foutopsporingsinterface. U kunt alleen bellen ICorDebugController::Continue
op een Win32-thread en alleen wanneer u verdergaat na een out-of-bandgebeurtenis.
De DebugEvent
callback voldoet niet aan de standaardregels voor callbacks. Wanneer u aanroept DebugEvent
, bevindt het proces zich in de onbewerkte status os-foutopsporing gestopt. Het proces wordt niet gesynchroniseerd. De gesynchroniseerde status wordt automatisch ingevoerd wanneer dat nodig is om te voldoen aan aanvragen voor informatie over beheerde code, wat kan leiden tot andere geneste DebugEvent
callbacks.
Roep ICorDebugProcess aan::ClearCurrentException op het proces om een uitzonderingsevenement te negeren voordat u doorgaat met het proces. Als u deze methode aanroept, worden DBG_CONTINUE in plaats van DBG_EXCEPTION_NOT_HANDLED in de continue aanvraag verzonden en worden out-of-band-onderbrekingspunten en uitzonderingen met één stap automatisch gewist. Out-of-bandgebeurtenissen kunnen op elk gewenst moment worden geleverd, zelfs wanneer de toepassing die wordt opgespoord, wordt gestopt en wanneer er al een openstaande in-bandgebeurtenis bestaat.
In .NET Framework versie 2.0 moet het foutopsporingsprogramma onmiddellijk doorgaan na een out-of-band onderbrekingspuntgebeurtenis. Het foutopsporingsprogramma moet de methoden ICorDebugProcess2::SetUnmanagedBreakpoint en ICorDebugProcess2::ClearUnmanagedBreakpoint-methoden gebruiken om onderbrekingspunten toe te voegen en te verwijderen. Met deze methoden worden alle out-of-band onderbrekingspunten automatisch overgeslagen. De enige out-of-band onderbrekingspunten die worden verzonden, moeten dus onbewerkte onderbrekingspunten zijn die zich al in de instructiestroom bevinden, zoals een aanroep naar de Win32-functie DebugBreak
. Probeer ICorDebugProcess::GetThreadContext, ICorDebugProcess::SetThreadContext of een ander lid van de foutopsporings-API niet te gebruikenICorDebugProcess::ClearCurrentException
.
Vereisten
Platformen: Zie Systeemvereisten.
Header: CorDebug.idl, CorDebug.h
Bibliotheek: CorGuids.lib
.NET Framework-versies: beschikbaar sinds 1.0