I verified that by actually changing code (adding comments) in the vld_x86.dll itself, so I know it's the right DLL.
I only arrive in 'firstAllocCall' once per allocation. I think that when really allocating, the RtlAlloc call (or such) that gets called arrives back into VLD, where it should not be recorded twice, hence the 'firstcall' variable.
But when VisualLeakDetect::_calloc() calls 'pcalloc', for example, it never returns back into VLD. So I don't see where the allocation is being recorded in a heap map.
It might be a specific version of VS2013 I'm using (v12.0.21005.1 REL).
BTW Where did you get your dbghelp.dll and *.manifest from? I got those from the v2.3 install, but maybe that's not right.
EDIT: Further debugging; calloc() goes into pcalloc(), which calls VisualLeakDetector::enabled() for example. I then end up in _HeapAlloc(), which calls isModuleExcluded(), which always returns true...
I only arrive in 'firstAllocCall' once per allocation. I think that when really allocating, the RtlAlloc call (or such) that gets called arrives back into VLD, where it should not be recorded twice, hence the 'firstcall' variable.
But when VisualLeakDetect::_calloc() calls 'pcalloc', for example, it never returns back into VLD. So I don't see where the allocation is being recorded in a heap map.
It might be a specific version of VS2013 I'm using (v12.0.21005.1 REL).
BTW Where did you get your dbghelp.dll and *.manifest from? I got those from the v2.3 install, but maybe that's not right.
EDIT: Further debugging; calloc() goes into pcalloc(), which calls VisualLeakDetector::enabled() for example. I then end up in _HeapAlloc(), which calls isModuleExcluded(), which always returns true...