ICorProfilerInfo::GetILToNativeMapping 方法

從通用中繼語言 (CIL) 位移取得對應到指定函式中包含的程式代碼原生位移。

語法

HRESULT GetILToNativeMapping(
    [in] FunctionID functionId,
    [in] ULONG32 cMap,
    [out] ULONG32 *pcMap,
    [out, size_is(cMap), length_is(*pcMap)]
        COR_DEBUG_IL_TO_NATIVE_MAP map[]);

參數

functionId [in]包含程式代碼之函式的識別碼。

cMap [in]數位大小 map 上限。

pcMap [out]可用COR_DEBUG_IL_TO_NATIVE_MAP結構的總數。

map [out]結構的陣列 COR_DEBUG_IL_TO_NATIVE_MAP ,每個都會指定位移。 GetILToNativeMapping 方法傳回之後,map 將會包含部分或所有 COR_DEBUG_IL_TO_NATIVE_MAP 結構。

備註

GetILToNativeMapping 方法會傳回 COR_DEBUG_IL_TO_NATIVE_MAP 結構的陣列。 為了傳達特定範圍的原生指令對應至特殊程式代碼區域(例如,初構),陣列中的專案可以將其ilOffset欄位設定為 CorDebugIlToNativeMappingTypes 列舉的值

GetILToNativeMapping 傳回之後,您必須確認 map 緩衝區夠大,可以包含所有 COR_DEBUG_IL_TO_NATIVE_MAP 結構。 若要這樣做,請比較 cMap 的值與 pcMap 參數的值。 如果 pcMap 值乘以 COR_DEBUG_IL_TO_NATIVE_MAP 結構的大小之後大於 cMap,請配置較大的 map 緩衝區,以新的較大大小更新 cMap,然後重新呼叫 GetILToNativeMapping

或者,您也可以先使用長度為零的 map 緩衝區來呼叫 GetILToNativeMapping,以取得正確的緩衝區大小。 接著您就可以將緩衝區大小設定為 pcMap 中傳回的值,並再次呼叫 GetILToNativeMapping

需求

平台:請參閱系統需求

標頭: CorProf.idl、CorProf.h

程式庫:CorGuids.lib

.NET Framework 版本: 自 2.0 起提供

另請參閱