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