视觉检漏仪在NTDLL上投掷"Access violation reading location".dll
Visual Leak Detector throwing "Access violation reading location" on ntdll.dll
当我包含:
#include <vld.h>;
在我的stdafx.h中运行我的程序,它说安装了视觉泄漏检测器2.5。我可以正常运行我的程序,但当它退出时,我得到这个错误:
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.
但我只有在启用视觉泄漏检测器时才能得到这个,所以我的猜测是这就是问题所在。
我确实找到了这个网站:视觉泄漏检测器论坛,有人提到了一个修复,但它导致github repo与vld.cpp文件,我不知道该怎么做。
这个错误似乎是由Windows 10周年更新引起的,但我不确定。
VLD 2.5.1发布,修复了windows 10的错误。https://vld.codeplex.com/releases/view/630509
我等这一刻很久了。感谢VLD团队
如果你真的不需要使用vld来检测内存泄漏,Dr. memory是一个选择,它对我来说在Windows上工作得很好,和Valgrind一样。
一些Windows API正在分配自己的内存来处理一些内部数据。你可能是想搞乱这种记忆。
在Visual Studio中进入DEBUG>Exceptions…并添加"本机运行时检查"。当你弄乱内存时,你的代码就会崩溃。查看您在调用堆栈中的位置,并调查您最近一次内存修改的位置。
我已经使用VLD很多年了,有时它看起来很奇怪,但它总是准确的。如果有疑问,请查看MSDN中的文档,以确定如何处理内存。
我在Visual Studio 2019中调试时面临这个问题。我解决了这个问题,删除了隐藏目录.vs
和所有Debug
和Release
目录。(VS必须关闭)
在新的构建之后,一切都运行良好。
2.5.1版本(如@hariprasad提到的)已经安装在我的计算机上。
离题:我有几个关于.vs
目录的问题。第一次尝试,如果我有一个奇怪的问题是删除这个文件夹和重建。
- 将数组信息存储到 c++ 向量中有一个"Access violation reading location"
- 为什么调试器引发"read access violation. this was nullptr"异常?
- Simulink "Access Violation"写入 C++ lambda 函数捕获列表中的 PWork 变量
- Qt QXmlStreamReader Access Violation
- 指向 std::unrodered_map 中元素的指针返回'Read access violation'
- 例外:'Access violation reading location'
- 我在发布模式下运行时收到"Access violation reading location"错误 - C++
- 如何修复我的 c++ 毕达哥拉斯三重查找器中的'access violation reading location'错误?
- 矩阵 - "Access violation writing location 0x00900B0C" - C++ 中的错误
- 如何修复此代码中的'Access violation reading location'
- 过载时出错 << "Exception thrown: read access violation.m.matrix was 0xCDDDCDDE."
- c++:链表错误" Access violation reading location"
- Q维吉特"access violation"
- System.UStrClr Access Violation
- msftedit "Access violation reading location 0x00000008"错误.dll SetWindowSub类中的RichEdit控件
- CreateBuffer 抛出一个"Access violation reading location"
- glMapBufferRange Access Violation
- 指针已初始化,但我有错误"Access violation reading location 0xCCCCCCCC".为什么?
- VC++ vector::p ush_back "Access Violation" in DLL
- "Read Access Violation: This was nullptr" 以为我分配正确...?