Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Visual Leak Detector throwing "Access violation reading location" on ntdll.dll

When I include:

#include <vld.h>;

in my stdafx.h and run my program it says that Visual Leak Detector 2.5 is installed. I can run my program just fine but when it exits I get this error:

Exception thrown at 0x00007FFFB7F57FE7 (ntdll.dll) in CPPAssessment.exe: 0xC0000005: Access violation reading location 0x00007FFFB8095252.

If there is a handler for this exception, the program may be safely continued.

But I only get this when I enable Visual Leak Detector so my guess is that that is the problem.

I did however find this site: Visual Leak Detector Forums And someone mentions a fix but it leads to a github repo with an vld.cpp file and I don't know what to do with it.

It seems the error was caused by the Windows 10 aniversary update but I am not sure.

like image 474
Jelmer Avatar asked Oct 28 '16 07:10

Jelmer


3 Answers

VLD 2.5.1 is released in which the bug is fixed for windows 10. https://vld.codeplex.com/releases/view/630509

I waited for this from a while. Thanks to VLD team

like image 56
hariprasad Avatar answered Oct 31 '22 18:10

hariprasad


If you don't really have to use vld to detect memory leaks, Dr. Memory is an option, it worked great for me on Windows, same as Valgrind.

like image 3
Genjutsu Avatar answered Oct 31 '22 17:10

Genjutsu


Some Windows API are allocating their own memory to handle some internal data. You're probably trying to mess with that kind of memory.

In Visual Studio go to DEBUG>Exceptions... and add "Native Run-Time Checks". Your code will break when you mess with the memory. Look where you are in the call stack and investigate around your last memory modification.

I've used VLD for years and some times it look strange but it's always accurate. In case of doubt look the documentation in MSDN to be sure how the memory should be handled.

like image 2
Paul Wulff Avatar answered Oct 31 '22 18:10

Paul Wulff