Quantcast
Channel: Visual Leak Detector for Visual C++ 2008-2015
Viewing all articles
Browse latest Browse all 704

Created Unassigned: CaptureContext::IsExcludedModule takes more than 90% of execution time in allocations. [10599]

$
0
0
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.

Viewing all articles
Browse latest Browse all 704

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>