Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poskytuje profileru informace o každém spravovaném rámci a každém spuštění nespravovaných rámců v zásobníku během procházení zásobníku, který je inicializován ICorProfilerInfo2::D oStackSnapshot metoda.
Syntaxe
HRESULT __stdcall StackSnapshotCallback (
[in] FunctionID funcId,
[in] UINT_PTR ip,
[in] COR_PRF_FRAME_INFO frameInfo,
[in] ULONG32 contextSize,
[in] BYTE context[],
[in] void *clientData
);
Parametry
funcId
[v] Pokud je tato hodnota nula, toto zpětné volání je pro spuštění nespravovaných rámců; v opačném případě se jedná o identifikátor spravované funkce a toto zpětné volání je určené pro spravovaný rámec.
ip
[v] Hodnota ukazatele nativní instrukce kódu v rámci.
frameInfo
[v] Hodnota COR_PRF_FRAME_INFO , která odkazuje na informace o rámci zásobníku. Tato hodnota je platná pro použití pouze během tohoto zpětného volání.
contextSize
[v] Velikost CONTEXT struktury, na kterou odkazuje context parametr.
context
[v] Ukazatel na strukturu Win32 CONTEXT , která představuje stav procesoru pro tento rámec.
Parametr context je platný pouze v případě, že byl příznak COR_PRF_SNAPSHOT_CONTEXT předán v ICorProfilerInfo2::DoStackSnapshotsouboru .
clientData
[v] Ukazatel na data klienta, který se předává přímo z ICorProfilerInfo2::DoStackSnapshot.
Poznámky
Funkci StackSnapshotCallback implementuje zapisovač profileru. Je nutné omezit složitost práce provedené v nástroji StackSnapshotCallback. Například při asynchronním použití ICorProfilerInfo2::DoStackSnapshot může cílové vlákno držet zámky. Pokud kód v rámci StackSnapshotCallback vyžaduje stejné zámky, mohlo by dojít k vzájemnému zablokování.
Metoda ICorProfilerInfo2::DoStackSnapshot volá StackSnapshotCallback funkci jednou za spravovaný rámec nebo jednou za spuštění nespravovaných snímků. Pokud StackSnapshotCallback se volá pro spuštění nespravovaných rámců, profiler může použít kontext registru (odkazovaný parametrem context ) k provedení vlastního nespravovaného procházení zásobníku. V tomto případě struktura Win32 CONTEXT představuje stav procesoru pro naposledy vložený rámec v rámci spuštění nespravovaných rámců. Přestože struktura Win32 CONTEXT obsahuje hodnoty pro všechny registry, měli byste spoléhat pouze na hodnoty registru ukazatele zásobníku, registru ukazatele rámce, registru ukazatele instrukce a nevolatilních (tj. zachovaných) celočíselných registrů.
Požadavky
Platformy: Viz Požadavky na systém.
Záhlaví: CorProf.idl
Knihovny: CorGuids.lib
Verze rozhraní .NET Framework: K dispozici od verze 1.0