Бөлісу құралы:


Метод ICorProfilerInfo9::GetCodeInfo4

Учитывая адрес запуска машинного кода, возвращает блоки виртуальной памяти, хранящую этот код.

Синтаксис

HRESULT GetCodeInfo4( [in]  UINT_PTR pNativeCodeStartAddress,
                      [in]  ULONG32 cCodeInfos,
                      [out] ULONG32* pcCodeInfos,
                      [out] COR_PRF_CODE_INFO codeInfos[]);

Параметры

pNativeCodeStartAddress
[in] Указатель на начало собственной функции.

cCodeInfos
[in] Размер массива codeInfos .

pcCodeInfos
[out] Указатель на общее количество доступных структур COR_PRF_CODE_INFO .

codeInfos
[out] Буфер, предоставленный вызывающим объектом. После возврата метода он содержит массив COR_PRF_CODE_INFO структур, каждый из которых описывает блок машинного кода.

Замечания

Метод GetCodeInfo4 похож на GetCodeInfo3, за исключением того, что он может искать сведения о коде для различных собственных версий метода.

Замечание

GetCodeInfo4 может активировать сборку мусора.

Экстенты сортируются в порядке увеличения смещения общего промежуточного языка (CIL).

После GetCodeInfo4 возврата необходимо убедиться, что codeInfos буфер был достаточно большим, чтобы содержать все COR_PRF_CODE_INFO структуры. Для этого сравните значение cCodeInfos параметра со значением cchName параметра. При cCodeInfos делении на размер структуры COR_PRF_CODE_INFO меньше pcCodeInfos, чем, выделите больший codeInfos буфер, обновите cCodeInfos его новым, большим размером и снова вызовите GetCodeInfo4 .

Кроме того, можно сначала вызвать GetCodeInfo4 буфер нулевой длины codeInfos , чтобы получить правильный размер буфера. Затем можно задать codeInfos размер буфера для возвращаемого pcCodeInfosзначения, умноженного на размер структуры COR_PRF_CODE_INFO и снова вызвать GetCodeInfo4 .

Требования

Платформ: См. сведения о поддерживаемых операционных системах .NET.

Заголовок: CorProf.idl, CorProf.h

Библиотека: CorGuids.lib

Версии .NET: Доступно с версии .NET Core 2.1

См. также