Sdílet prostřednictvím


ICorProfilerCallback – rozhraní

Poskytuje metody, které jsou používány common language runtime (CLR) oznámit profileru kódu, když dojde k událostem, ke kterým se profiler přihlásil.

Metody

Metoda Popis
AppDomainCreationFinished – metoda Upozorní profiler, že byla vytvořena doména aplikace.
AppDomainCreationStarted – metoda Upozorní profiler, že se vytváří doména aplikace.
AppDomainShutdownFinished – metoda Upozorní profiler, že doména aplikace byla uvolněna z procesu.
AppDomainShutdownStarted – metoda Upozorní profiler, že doména aplikace je uvolněna z procesu.
AssemblyLoadFinished – metoda Oznámí profileru, že načítání sestavení bylo dokončeno.
AssemblyLoadStarted – metoda Upozorní profiler, že se načítá sestavení.
AssemblyUnloadFinished – metoda Upozorní profiler, že sestavení bylo uvolněno.
AssemblyUnloadStarted – metoda Oznámí profileru, že je uvolněno sestavení.
ClassLoadFinished – metoda Oznámí profileru, že načítání třídy bylo dokončeno.
ClassLoadStarted – metoda Upozorní profiler, že se načítá třída.
ClassUnloadFinished – metoda Oznámí profileru, že třída dokončila uvolnění.
ClassUnloadStarted – metoda Upozorní profiler, že třída je uvolněna.
COMClassicVTableCreated – metoda Oznámí profileru, že byla vytvořena obálka volatelná za běhu (RCW) pro zadanou třídu IID a třídu.
COMClassicVTableDestroyed – metoda Upozorní profiler, že rcw je zničen.
ExceptionCatcherEnter – metoda Upozorní profiler, že ovládací prvek se předává příslušnému catch bloku.
ExceptionCatcherLeave – metoda Oznámí profileru, že se předává ovládací prvek z příslušného catch bloku.
ExceptionCLRCatcherExecute – metoda Zastaralé v rozhraní .NET Framework verze 2.0.
ExceptionCLRCatcherFound – metoda Zastaralé v rozhraní .NET Framework 2.0.
ExceptionOSHandlerEnter – metoda Není implementováno. Profiler, který potřebuje informace o nespravovaných výjimce, musí tyto informace získat jiným způsobem.
ExceptionOSHandlerLeave – metoda Není implementováno. Profiler, který potřebuje informace o nespravovaných výjimce, musí tyto informace získat jiným způsobem.
ExceptionSearchCatcherFound – metoda Upozorní profiler, že fáze hledání zpracování výjimek vyhledala obslužnou rutinu pro výjimku, která byla vyvolán.
ExceptionSearchFilterEnter – metoda Upozorní profiler, že se spouští uživatelský filtr.
ExceptionSearchFilterLeave – metoda Oznámí profileru, že právě dokončil provádění uživatelského filtru.
ExceptionSearchFunctionEnter – metoda Oznámí profileru, že vyhledávací fáze zpracování výjimek vstoupila do funkce.
ExceptionSearchFunctionLeave – metoda Upozorní profiler, že vyhledávací fáze zpracování výjimek dokončila prohledávání funkce.
ExceptionThrown – metoda Upozorní profiler, že došlo k výjimce.
ExceptionUnwindFinallyEnter – metoda Oznámí profileru, že fáze odvíjení zpracování výjimek zadává klauzuli obsaženou finally v zadané funkci.
ExceptionUnwindFinallyLeave – metoda Oznámí profileru, že ve fázi odvíjení zpracování výjimek zůstala klauzule finally .
ExceptionUnwindFunctionEnter – metoda Oznámí profileru, že fáze odvíjení zpracování výjimek vstoupila do funkce.
ExceptionUnwindFunctionLeave – metoda Upozorní profiler, že fáze odvíjení zpracování výjimek dokončila odvíjení funkce.
FunctionUnloadStarted – metoda Upozorní profiler, že modul runtime zahájil uvolnění funkce.
Initialize – metoda Volá se k inicializaci profileru při každém spuštění nové aplikace CLR.
JITCachedFunctionSearchFinished – metoda Upozorní profiler, že bylo dokončeno hledání funkce, která byla dříve zkompilována pomocí NGen.exe.
JITCachedFunctionSearchStarted – metoda Upozorní profiler, že bylo zahájeno vyhledávání pro funkci, která byla dříve zkompilována pomocí NGen.exe.
JITCompilationFinished – metoda Oznámí profileru, že kompilátor JIT dokončil kompilaci funkce.
JITCompilationStarted – metoda Oznámí profileru, že kompilátor JIT (just-in-time) začal kompilovat funkci.
JITFunctionPitched – metoda Upozorní profiler, že funkce kompilovaná pomocí JIT byla odebrána z paměti.
JITInlining – metoda Oznámí profileru, že kompilátor JIT se chystá vložit funkci do řádku s jinou funkcí.
ManagedToUnmanagedTransition – metoda Upozorní profiler, že došlo k přechodu ze spravovaného kódu na nespravovaný kód.
ModuleAttachedToAssembly – metoda Upozorní profiler, že modul je připojen k nadřazené sestavení.
ModuleLoadFinished – metoda Oznámí profileru, že se dokončilo načítání modulu.
ModuleLoadStarted – metoda Upozorní profiler, že se načítá modul.
ModuleUnloadFinished – metoda Oznámí profileru, že modul dokončil uvolnění.
ModuleUnloadStarted – metoda Upozorní profiler, že probíhá uvolnění modulu.
MovedReferences – metoda Upozorní profiler na odkazy na objekty, které byly přesunuty během uvolňování paměti.
ObjectAllocated – metoda Upozorní profiler, že objektu byla přidělena paměť v haldě.
ObjectReferences – metoda Upozorní profiler na objekty v paměti odkazované zadaným objektem.
ObjectsAllocatedByClass – metoda Oznámí profileru počet instancí každé zadané třídy, které byly vytvořeny od předchozího uvolňování paměti.
RemotingClientInvocationFinished – metoda Upozorní profiler, že se na klientovi spustilo vzdálené volání.
RemotingClientInvocationStarted – metoda Upozorní profiler, že bylo zahájeno vzdálené volání.
RemotingClientReceivingReply – metoda Upozorní profiler, že část vzdálené komunikace na straně serveru byla dokončena a klient nyní přijímá a chystá se zpracovat odpověď.
RemotingClientSendingMessage – metoda Upozorní profiler, že klient odesílá požadavek na server.
RemotingServerInvocationReturned – metoda Upozorní profiler, že proces dokončil vyvolání metody v reakci na požadavek vzdáleného volání metody.
RemotingServerInvocationStarted – metoda Upozorní profiler, že proces vyvolává metodu v reakci na požadavek vzdáleného volání metody.
RemotingServerReceivingMessage – metoda Upozorní profiler, že proces přijímá volání vzdálené metody nebo žádost o aktivaci.
RemotingServerSendingReply – metoda Upozorní profiler, že proces dokončil zpracování žádosti o vyvolání vzdálené metody a chystá se přenést odpověď prostřednictvím kanálu.
RootReferences – metoda Upozorní profiler s informacemi o kořenových odkazech po uvolnění paměti.
RuntimeResumeFinished – metoda Oznámí profileru, že modul runtime obnovil všechna vlákna modulu runtime a vrátil se k normálnímu provozu.
RuntimeResumeStarted – metoda Upozorní profiler, že modul runtime obnovuje všechna vlákna za běhu.
RuntimeSuspendAborted – metoda Oznámí profileru, že modul runtime přerušil pozastavení za běhu, ke kterému došlo.
RuntimeSuspendFinished – metoda Oznámí profileru, že modul runtime dokončil pozastavení všech vláken za běhu.
RuntimeSuspendStarted – metoda Upozorní profiler, že modul runtime se chystá pozastavit všechna vlákna za běhu.
RuntimeThreadResumed – metoda Upozorní profiler, že zadané vlákno bylo obnoveno po pozastavení.
RuntimeThreadSuspended – metoda Oznámí profileru, že zadané vlákno bylo nebo bude pozastaveno.
Shutdown – metoda Upozorní profiler, že se aplikace vypíná.
ThreadAssignedToOSThread – metoda Upozorní profiler, že spravované vlákno je implementováno pomocí konkrétního vlákna operačního systému (OS).
ThreadCreated – metoda Oznámí profileru, že vlákno bylo vytvořeno.
ThreadDestroyed – metoda Oznámí profileru, že vlákno bylo zničeno.
UnmanagedToManagedTransition – metoda Upozorní profiler, že došlo k přechodu z nespravovaného kódu na spravovaný kód.

Poznámky

CLR volá metodu ICorProfilerCallback v rozhraní (nebo ICorProfilerCallback2) upozornit profiler, když dojde k události, ke které se profiler přihlásil. Toto je primární rozhraní zpětného volání, přes které CLR komunikuje s profilerem kódu.

Profiler kódu musí implementovat metody ICorProfilerCallback rozhraní. Pro rozhraní .NET Framework verze 2.0 nebo novější musí profiler také implementovat ICorProfilerCallback2 metody . Každá implementace metody musí vrátit hodnotu HRESULT, která má hodnotu S_OK při úspěchu nebo E_FAIL při selhání. V současné době CLR ignoruje HRESULT, která je vrácena jednotlivými zpětnými voláními s výjimkou ICorProfilerCallback::ObjectReferences.

V registru systému Microsoft Windows musí profiler kódu zaregistrovat objekt modelu COM (Component Object Model), který implementuje ICorProfilerCallback rozhraní a ICorProfilerCallback2 . Profiler kódu se přihlásí k odběru událostí, pro které chce přijímat oznámení voláním ICorProfilerInfo::SetEventMask. To se obvykle provádí v implementaci profileru ICorProfilerCallback::Initialize. Profiler pak může přijímat oznámení z modulu runtime v případě, že dojde k události nebo když právě došlo v procesu spuštění modulu runtime.

Poznámka

Profiler registruje jeden objekt COM. Pokud profiler cílí na rozhraní .NET Framework verze 1.0 nebo 1.1, tento objekt COM musí implementovat pouze metody .ICorProfilerCallback Pokud cílí na rozhraní .NET Framework verze 2.0 nebo novější, musí objekt COM také implementovat metody .ICorProfilerCallback2

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: CorProf.idl, CorProf.h

Knihovny: CorGuids.lib

Verze rozhraní .NET Framework: K dispozici od verze 1.0

Viz také