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