Megosztás a következőn keresztül:


ICorProfilerCallback felület

Olyan metódusokat biztosít, amelyeket a közös nyelvi futtatókörnyezet (CLR) használ a kódprofilozó értesítésére azokról az eseményekről, amelyekre a profilkészítő előfizetett.

Methods

Metódus Description
AppDomainCreationFinished metódus Értesíti a profilozót, hogy egy alkalmazástartományt hoztak létre.
AppDomainCreationStarted metódus Értesíti a profilozót, hogy létrejön egy alkalmazástartomány.
AppDomainShutdownFinished metódus Értesíti a profilozót, hogy egy alkalmazástartományt töröltek egy folyamatból.
AppDomainShutdownStarted metódus Értesíti a profilozót, hogy egy alkalmazástartományt töröl egy folyamatból.
AssemblyLoadFinished metódus Értesíti a profilozót, hogy egy szerelvény betöltése befejeződött.
AssemblyLoadStarted metódus Értesíti a profilozót, hogy egy szerelvény betöltése folyamatban van.
AssemblyUnloadFinished metódus Értesíti a profilozót, hogy egy szerelvényt eltávolítottak.
AssemblyUnloadStarted metódus Értesíti a profilozót, hogy egy szerelvényt kiürítenek.
ClassLoadFinished metódus Értesíti a profilozót, hogy az osztály betöltése befejeződött.
ClassLoadStarted metódus Értesíti a profilozót, hogy egy osztály betöltése folyamatban van.
ClassUnloadFinished metódus Értesíti a profilozót, hogy egy osztály befejezte a kirakodást.
ClassUnloadStarted metódus Értesíti a profilozót, hogy egy osztály ki van ürítve.
COMClassicVTableCreated metódus Értesíti a profilozót, hogy létrejött egy futásidejű hívható burkoló (RCW) a megadott IID-hez és osztályhoz.
COMClassicVTableDestroyed metódus Értesíti a profilozót, hogy egy RCW megsemmisül.
ExceptionCatcherEnter metódus Értesíti a profilkészítőt arról, hogy a vezérlő a megfelelő catch blokknak lesz átadva.
ExceptionCatcherLeave metódus Értesíti a profilozót, hogy a vezérlő a megfelelő blokkból kerül átadásra catch .
ExceptionCLRCatcherExecute metódus Elavult a .NET-keretrendszer 2.0-s verziója.
ExceptionCLRCatcherFound metódus Elavult a .NET-keretrendszer 2.0-s verziója.
ExceptionOSHandlerEnter metódus Nincs implementálva. A nem felügyelt kivételadatokat igénylő profilkészítőknek más módon kell beszerezniük ezeket az információkat.
ExceptionOSHandlerLeave metódus Nincs implementálva. A nem felügyelt kivételadatokat igénylő profilkészítőknek más módon kell beszerezniük ezeket az információkat.
ExceptionSearchCatcherFound metódus Értesíti a profilozót, hogy a kivételkezelés keresési fázisa egy kezelőt hozott létre a kidobott kivételhez.
ExceptionSearchFilterEnter metódus Értesíti a profilozót, hogy egy felhasználói szűrőt hajt végre.
ExceptionSearchFilterLeave metódus Értesíti a profilozót, hogy a felhasználói szűrő éppen befejeződött.
ExceptionSearchFunctionEnter metódus Értesíti a profilozót, hogy a kivételkezelés keresési fázisa függvényt adott meg.
ExceptionSearchFunctionLeave metódus Értesíti a profilozót, hogy a kivételkezelés keresési fázisa befejezte a függvények keresését.
ExceptionThrown metódus Értesíti a profilozót, hogy kivétel történt.
ExceptionUnwindFinallyEnter metódus Értesíti a profilozót, hogy a kivételkezelés kikapcsolási fázisa a finally megadott függvényben található záradékot adja meg.
ExceptionUnwindFinallyLeave metódus Értesíti a profilozót, hogy a kivételkezelés kikapcsolási fázisa záradékot finally hagyott.
ExceptionUnwindFunctionEnter metódus Értesíti a profilozót, hogy a kivételkezelés visszatekerési fázisa belépett egy függvénybe.
ExceptionUnwindFunctionLeave metódus Értesíti a profilozót, hogy a kivételkezelés visszatekerési fázisa befejeződött egy függvény letekerésével.
FunctionUnloadStarted metódus Értesíti a profilozót, hogy a futtatókörnyezet megkezdte a függvények eltávolítását.
Metódus inicializálása Meghívva a profilozó inicializálására egy új CLR-alkalmazás indításakor.
JITCachedFunctionSearchFinished metódus Értesíti a profilozót, hogy a keresés befejeződött a korábban NGen.exehasználatával lefordított függvényre vonatkozóan.
JITCachedFunctionSearchStarted metódus Értesíti a profilozót, hogy a keresés olyan függvényre indult, amelyet korábban NGen.exehasználatával állítottak össze.
JITCompilationFinished metódus Értesíti a profilozót, hogy a JIT-fordító befejezte a függvény összeállítását.
JITCompilationStarted metódus Értesíti a profilozót, hogy a just-in-time (JIT) fordító megkezdte a függvény fordítását.
JITFunctionPitched metódus Értesíti a profilozót, hogy a JIT által lefordított függvény el lett távolítva a memóriából.
JITInlining metódus Értesíti a profilozót, hogy a JIT-fordító egy függvényt készül beszúrni egy másik függvénnyel összhangban.
ManagedToUnmanagedTransition metódus Értesíti a profilozót, hogy a felügyelt kódról a nem felügyelt kódra való áttérés történt.
ModuleAttachedToAssembly metódus Értesíti a profilozót, hogy egy modul a szülőszerelvényhez van csatolva.
ModuleLoadFinished metódus Értesíti a profilozót, hogy egy modul betöltése befejeződött.
ModuleLoadStarted metódus Értesíti a profilozót, hogy egy modul betöltése folyamatban van.
ModuleUnloadFinished metódus Értesíti a profilozót, hogy egy modul befejezte a kirakodást.
ModuleUnloadStarted metódus Értesíti a profilozót, hogy egy modult kiürítenek.
MovedReferences metódus Értesíti a profilozót a szemétgyűjtés során áthelyezett objektumhivatkozásokról.
ObjectAllocated metódus Értesíti a profilozót, hogy a halomban lévő memória egy objektumhoz lett lefoglalva.
ObjectReferences metódus Értesíti a profilozót a megadott objektum által hivatkozott memóriabeli objektumokról.
ObjectsAllocatedByClass metódus Értesíti a profilozót az előző szemétgyűjtés óta létrehozott egyes meghatározott osztályok példányainak számáról.
RemotingClientInvocationFinished metódus Értesíti a profilozót, hogy egy újraindító hívás lefutott az ügyfélen.
RemotingClientInvocationStarted metódus Értesíti a profilozót, hogy újrahívás indult.
RemotingClientReceivingReply metódus Értesíti a profilozót, hogy az újraküldéses hívás kiszolgálóoldali része befejeződött, és az ügyfél most fogadja és feldolgozni készül a választ.
RemotingClientSendingMessage metódus Értesíti a profilozót, hogy az ügyfél kérést küld a kiszolgálónak.
RemotingServerInvocationReturned metódus Értesíti a profilozót, hogy a folyamat befejezte a metódus meghívását egy távoli metódushívási kérésre válaszul.
RemotingServerInvocationStarted metódus Értesíti a profilozót, hogy a folyamat metódust invoktál egy távoli metódushívási kérésre válaszul.
RemotingServerReceivingMessage metódus Értesíti a profilozót, hogy a folyamat távoli metódushívást vagy aktiválási kérelmet kap.
RemotingServerSendingReply metódus Értesíti a profilozót, hogy a folyamat befejezte egy távoli metódushívási kérés feldolgozását, és egy csatornán keresztül továbbítja a választ.
RootReferences metódus A szemétgyűjtés után értesíti a profilozót a gyökérhivatkozásokról.
RuntimeResumeFinished metódus Értesíti a profilozót, hogy a futtatókörnyezet az összes futtatókörnyezeti szálat újraindította, és visszatért a normál működéshez.
RuntimeResumeStarted metódus Értesíti a profilozót, hogy a futtatókörnyezet újra elindítja az összes futtatókörnyezeti szálat.
RuntimeSuspendAborted metódus Értesíti a profilozót, hogy a futtatókörnyezet megszakította a futásidejű felfüggesztést.
RuntimeSuspendFinished metódus Értesíti a profilozót, hogy a futtatókörnyezet befejezte az összes futtatókörnyezeti szál felfüggesztését.
RuntimeSuspendStarted metódus Értesíti a profilozót, hogy a futtatókörnyezet az összes futtatókörnyezeti szál felfüggesztésére készül.
RuntimeThreadResumed metódus Értesíti a profilozót, hogy a megadott szál a felfüggesztés után újraindult.
RuntimeThreadSuspended metódus Értesíti a profilozót, hogy a megadott szál fel lett függesztve vagy hamarosan fel lett függesztve.
Leállítási módszer Értesíti a profilozót, hogy az alkalmazás leáll.
ThreadAssignedToOSThread metódus Értesíti a profilozót, hogy egy felügyelt szál egy adott operációsrendszer-szál használatával van implementálva.
ThreadCreated metódus Értesíti a profilozót, hogy létrejött egy szál.
ThreadDestroyed metódus Értesíti a profilozót, hogy egy szál megsemmisült.
UnmanagedToManagedTransition metódus Értesíti a profilozót, hogy a nem felügyelt kódról a felügyelt kódra való áttérés történt.

Megjegyzések

A CLR meghív egy metódust az ICorProfilerCallback (vagy az ICorProfilerCallback2) felületén, amely értesíti a profilozót egy eseményről, amelyre a profilozó előfizetett. Ez az elsődleges visszahívási felület, amelyen keresztül a CLR kommunikál a kódprofilozóval.

A kódprofilozónak implementálnia kell az ICorProfilerCallback interfész metódusait. A .NET-keretrendszer 2.0-s vagy újabb verziójához a profilkészítőnek is implementálnia kell a ICorProfilerCallback2 metódusokat. Minden metódus-implementációnak olyan HRESULT értéket kell visszaadnia, amelynek értéke S_OK a sikeres vagy a sikertelen E_FAIL. A CLR jelenleg figyelmen kívül hagyja az egyes visszahívások által visszaadott HRESULT-t az ICorProfilerCallback::ObjectReferences kivételével.

A Microsoft Windows beállításjegyzékében a kódprofilozónak regisztrálnia kell a komponensobjektum-modell (COM) objektumát, amely implementálja azokat és ICorProfilerCallback2 a ICorProfilerCallback felületeket. A kódprofilozó feliratkozik azokra az eseményekre, amelyekről értesítést szeretne kapni az ICorProfilerInfo::SetEventMask meghívásával. Ez általában az ICorProfilerCallback::Initialize profilkészítő implementációjában történik. A profilkészítő ezután értesítést tud kapni a futtatókörnyezetből, amikor egy esemény készül, vagy éppen most történt egy végrehajtási futtatókörnyezeti folyamatban.

Megjegyzés:

A profilkészítő egyetlen COM-objektumot regisztrál. Ha a profilozó a .NET-keretrendszer 1.0-s vagy 1.1-es verzióját célozza, az adott COM-objektumnak csak a metódusokat kell implementálnia ICorProfilerCallback. Ha a .NET-keretrendszer 2.0-s vagy újabb verzióját célozza meg, a COM-objektumnak a .NET-keretrendszer metódusait is implementálnia ICorProfilerCallback2kell.

Requirements

Platformok: Lásd a rendszerkövetelményeket.

Fejléc: CorProf.idl, CorProf.h

Könyvtár: CorGuids.lib

.NET-keretrendszer verziók: 1.0 óta érhető el

Lásd még