Delen via


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, falseaanroept.

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

Zie ook