Hello. I took the latest source code from git from master, with label v2.5. I observed that the start time of a simple program increased from under a second to 3...5 seconds. I analysed the cause and is because of VirtualQuery call in GetCallingModule from utility.cpp.
The callstack is
VirtualQuery
vld_x86.dll!GetCallingModule(unsigned int pCaller) Line 1183 C++
vld_x86.dll!CaptureContext::IsExcludedModule() Line 3158 C++
vld_x86.dll!CaptureContext::~CaptureContext() Line 3101 C++
vld_x86.dll!VisualLeakDetector::_HeapAlloc(void * heap, unsigned long flags, unsigned long size) Line 185 C++
if i comment all the code in CaptureContext::IsExcludedModule and replace it with return g_vld.isModuleExcluded((UINT_PTR)m_context.fp); the execution time is much less.
Please explain me why m_context.fp cannot be used instead of hModule, because this was used in the code 2 months ago.
I use StackWalkMethod = fast. If for safe doesn't work with m_context.fp, please use the new exclusion method only for safe.
The callstack is
VirtualQuery
vld_x86.dll!GetCallingModule(unsigned int pCaller) Line 1183 C++
vld_x86.dll!CaptureContext::IsExcludedModule() Line 3158 C++
vld_x86.dll!CaptureContext::~CaptureContext() Line 3101 C++
vld_x86.dll!VisualLeakDetector::_HeapAlloc(void * heap, unsigned long flags, unsigned long size) Line 185 C++
if i comment all the code in CaptureContext::IsExcludedModule and replace it with return g_vld.isModuleExcluded((UINT_PTR)m_context.fp); the execution time is much less.
Please explain me why m_context.fp cannot be used instead of hModule, because this was used in the code 2 months ago.
I use StackWalkMethod = fast. If for safe doesn't work with m_context.fp, please use the new exclusion method only for safe.