Я использую API профилирования CLR и пытаюсь получить информацию об аргументах (COR_PRF_FUNCTION_ARGUMENT_INFO) из COR_PRF_ELT_INFO с помощью функции GetFunctionEnter3Info.
Ниже мой код. Кажется, что функция GetFunctionEnter3Info не устанавливает значение для pArgumentInfo. Он всегда имеет нулевое значение. Однако функция возвращает S_OK, что является успешным.
Я могу что-то упустить. Как мне получить COR_PRF_FUNCTION_ARGUMENT_INFO из COR_PRF_ELT_INFO?
PROFILER_STUB EnterStub(FunctionIDOrClientID functionId, COR_PRF_ELT_INFO eltInfo)
{
COR_PRF_FRAME_INFO *pFrameInfo = 0;
ULONG *pcbArgumentInfo = 0;
COR_PRF_FUNCTION_ARGUMENT_INFO *pArgumentInfo = NULL;
corProfilerInfo->GetFunctionEnter3Info(functionId.functionID, eltInfo, pFrameInfo, pcbArgumentInfo, pArgumentInfo);
if(pArgumentInfo) {
//
}
}
COR_PRF_ENABLE_FUNCTION_ARGS
в вашем вызовеSetEventMask
? - person Brian Reichle   schedule 25.07.2019COR_PRF_DISABLE_ALL_NGEN_IMAGES
для отключения изображений, созданных с помощью ngen, илиCOR_PRF_USE_PROFILE_IMAGES
, чтобы запросить изображения, созданные с помощью ngen с поддержкой профилирования. - person Brian Reichle   schedule 29.07.2019