ICorDebugManagedCallback2::MDANotification – metoda
Poskytuje oznámení, že spuštění kódu zjistilo spravovaného pomocníka ladění (MDA) v aplikaci, která se ladí.
Syntaxe
HRESULT MDANotification(
[in] ICorDebugController *pController,
[in] ICorDebugThread *pThread,
[in] ICorDebugMDA *pMDA
);
Parametry
pController
[v] Ukazatel na rozhraní ICorDebugController, které zveřejňuje proces nebo aplikační doménu, ve které došlo k MDA.
Ladicí program by neměl provádět žádné předpoklady o tom, zda je kontroler procesem nebo doménou aplikace, i když může vždy dotazovat rozhraní, aby bylo rozhodnutí.
pThread
[v] Ukazatel na rozhraní ICorDebugThread, které zveřejňuje spravované vlákno, na kterém došlo k události ladění.
Pokud došlo k MDA v nespravovaném vlákně, hodnota pThread
bude null.
Z samotného objektu MDA musíte získat ID vlákna operačního systému (OS).
pMDA
[v] Ukazatel na rozhraní ICorDebugMDA , které zveřejňuje informace MDA.
Poznámky
MDA je heuristické upozornění a nevyžaduje žádnou explicitní akci ladicího programu s výjimkou volání ICorDebugController::Continue pokračovat v provádění aplikace, která je laděná.
Modul CLR (Common Language Runtime) může určit, která mda se aktivují a která data jsou v libovolném okamžiku v libovolném okamžiku mda. Ladicí programy by proto neměly vytvářet žádné funkce vyžadující konkrétní vzory MDA.
MdA se můžou zařadit do fronty a krátce po spuštění MDA. K tomu může dojít v případě, že modul runtime musí počkat, dokud nedosáhne bezpečného bodu pro aktivaci MDA, a ne při jeho spuštění. Také to znamená, že modul runtime může aktivovat řadu MDA v jedné sadě zpětných volání zařazených do fronty (podobně jako operace události připojit).
Ladicí program by měl okamžitě po návratu z zpětného MDANotification
volání uvolnit odkaz na ICorDebugMDA
instanci, aby modul CLR mohl recyklovat paměť spotřebovanou mdA. Uvolnění instance může zvýšit výkon, pokud se spouští mnoho MDA.
Požadavky
Platformy: Viz požadavky na systém.
Hlavička: CorDebug.idl, CorDebug.h
Knihovna: CorGuids.lib
Verze rozhraní .NET Framework: Dostupné od verze 2.0