Метод ICorProfilerInfo4::GetCodeInfo3
Получает экстенты машинного кода, связанного с перекомпилированной с помощью JIT-компилятора версией указанной функции.
Синтаксис
HRESULT GetCodeInfo3(
[in] FunctionID functionID,
[in] ReJITID reJitId,
[in] ULONG32 cCodeInfos,
[out] ULONG32 *pcCodeInfos,
[out, size_is(cCodeInfos), length_is(*pcCodeInfos)]
COR_PRF_CODE_INFO codeInfos[]);
Параметры
functionID
[in] Идентификатор функции, с которым связан машинный код.
reJitId
[in] Идентификатор функции, перекомпилированной с помощью JIT-компилятора.
cCodeInfos
[in] Размер массива codeInfos
.
pcCodeInfos
[out] Указатель на общее количество доступных COR_PRF_CODE_INFO структур.
codeInfos
[out] Буфер, предоставляемый вызывающим объектом. После возврата метода он содержит массив структур COR_PRF_CODE_INFO
, каждая из которых описывает блок машинного кода.
Комментарии
Метод GetCodeInfo3
аналогичен Методу GetCodeInfo2, за исключением того, что он получает перекомпилированную JIT-идентификатор функции, которая содержит указанный IP-адрес.
Примечание
GetCodeInfo3
может активировать сборку мусора, а GetCodeInfo2 — нет. Дополнительные сведения см . в CORPROF_E_UNSUPPORTED_CALL_SEQUENCE HRESULT.
Расширения сортируются в порядке возрастания смещения общих промежуточного языка (CIL).
После GetCodeInfo3
возврата необходимо убедиться, что codeInfos
буфер был достаточно велик, чтобы содержать все COR_PRF_CODE_INFO структуры. Для этого сравните значение параметра cCodeInfos
со значением параметра cchName
. При cCodeInfos
делении на размер COR_PRF_CODE_INFO структура меньше, чем pcCodeInfos
, выделите буфер большего codeInfos
размера, обновите cCodeInfos
новый, больший размер и вызовите GetCodeInfo3
еще раз.
Кроме того, сначала можно вызвать метод GetCodeInfo3
с буфером codeInfos
нулевой длины для получения правильного размера буфера. Затем можно задать размер буфера codeInfos
значением, возвращаемым в pcCodeInfos
, умноженным на размер структуры COR_PRF_CODE_INFO , и снова вызвать GetCodeInfo3
.
Требования
Платформы: см. раздел Требования к системе.
Заголовок: CorProf.idl, CorProf.h
Библиотека: CorGuids.lib
версии платформа .NET Framework: доступно с версии 4.5