Поделиться через


Метод 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

См. также