ICorProfilerInfo2 介面

提供程式碼分析工具用於和 Common Language Runtime (CLR) 通訊,以控制事件監視和要求資訊的方法。 ICorProfilerInfo2 介面是 ICorProfilerInfo 介面的擴充。 也就是說,它提供 .NET Framework 2.0 版和更新版本中支援的新方法。

方法

方法 描述
DoStackSnapshot 方法 查核指定執行緒的堆疊,以向分析工具報告受控呼叫框架。
EnumModuleFrozenObjects 方法 可取得迭代器,讓使用者反覆運算指定模組中凍結的物件。
GetAppDomainStaticAddress 方法 取得指定應用程式定義域靜態欄位的位址,這位於指定應用程式定義域的範圍內。
GetArrayObjectInfo 方法 取得陣列物件的詳細資訊。
GetBoxClassLayout 方法 針對 Boxed 的指定實值型別取得其類別配置相關資訊。
GetClassFromTokenAndTypeArgs 方法 使用指定的中繼資料語彙基元和任何型別引數的 ClassID 值,來取得型別的 ClassID
GetClassIDInfo2 方法 取得指定泛型類別的父模組、該類別的中繼資料語彙基元、其父類別的 ClassID,以及該類別每個型別引數的 ClassID (如果有的話)。
GetClassLayout 方法 取得在記憶體中指定類別所定義欄位的配置相關資訊。 也就是說,這個方法會取得此類別的欄位之位移。
GetCodeInfo2 方法 取得與指定 FunctionID 相關聯的原生程式碼範圍。
GetContextStaticAddress 方法 取得指定內容靜態欄位的位址,這位於指定內容的範圍內。
GetFunctionFromTokenAndTypeArgs 方法 使用指定的中繼資料語彙基元 (包含類別) 以及任何型別引數的 ClassID 值,來取得函式的 FunctionID
GetFunctionInfo2 方法 取得函式的父類別、中繼資料語彙基元和每個類型引數的 ClassID (如果有的話)。
GetGenerationBounds 方法 取得構成記憶體回收堆積世代的記憶體區域 (堆積的區段)。
GetNotifiedExceptionClauseInfo 方法 取得即將執行或剛執行的例外狀況子句原生位址和框架資訊 (catch/finally/filter)。
GetObjectGeneration 方法 取得包含指定物件的堆積區段。
GetRVAStaticAddress 方法 取得指定相對虛擬位址的位址 (RVA) 的靜態欄位。
GetStaticFieldInfo 方法 取得指定欄位為靜態的範圍。
GetStringLayout 方法 取得字串物件配置的相關資訊。
GetThreadAppDomain 方法 可取得指定執行緒目前正在執行程式碼的所在應用程式定義域之識別碼。
GetThreadStaticAddress 方法 取得指定執行緒靜態欄位的位址,這位於指定執行緒的範圍內。
SetEnterLeaveFunctionHooks2 方法 指定要在受控函式的「enter」、「leave」和「tailcall」勾點上呼叫分析工具實作的函式。

備註

分析工具會在 ICorProfilerInfo2 介面中呼叫方法來與 CLR 通訊,以控制事件監視和要求資訊。

ICorProfilerInfo2 介面的方法是由 CLR 使用無限制執行緒模型實作。 每個方法會傳回 HRESULT,表示成功或失敗。 如需可能的傳回程式碼清單,請參閱 CorError.h 檔案。

CLR 會透過分析工具的 ICorProfilerCallback::Initialize 實作,在初始化期間傳遞每個程式碼分析工具的 ICorProfilerInfo2 介面。 然後程式碼分析工具可以呼叫 ICorProfilerInfo2 介面的方法,以取得在 CLR 控制下執行的受控程式碼之資訊。

規格需求

平台:請參閱系統需求

標頭: CorProf.idl、CorProf.h

程式庫:CorGuids.lib

.NET Framework版本:自 2.0 起提供

另請參閱