Sdílet prostřednictvím


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

Viz také