c++ - 访问冲突读取位置 0xfeef002A

标签 c++ visual-studio access-violation

如何在visual studio中查看该地址是否同时从其他地方访问?

导致访问冲突的不同原因可能是什么?

最佳答案

这看起来非常接近 special values 之一由 Visual Studio 运行时调试堆使用。在分配和释放内存后,C 运行时会使用许多值,以便您可以更轻松地诊断内存损坏错误。值0xFEEEFEEE在内存被释放后使用。

我怀疑您的代码中可能发生的情况是一个对象已被释放,但您仍然有一个指向它的指针(一个悬空指针)并且您正在尝试访问一个成员变量那个对象。根据代码的复杂性,您可以采取多种措施来诊断此问题。一种是启用Page Heap Verification ,另一个是在被取消引用的类的析构函数中添加一些断点,以便找出对象被销毁的位置,以便您可以重置引用它的其他指针。考虑使用智能指针,例如 shared_ptr<>以减少悬挂指针的可能性。

关于c++ - 访问冲突读取位置 0xfeef002A,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9693549/

相关文章:

c++ - 在 C++ 中使用 JNI 时出现 c0000005 异常(访问冲突)

c++ - 字符串赋值错误

c++ - 使用数组作为参数的调用函数

visual-studio - 为什么 mercurial (hg) 将我的 Visual Studio 解决方案 (.sln) 视为二进制文件?

html - 使用 VS Web Essentials 在 Emmet 中使用单引号

c++ - 调用方法时出现访问冲突异常

c++ - 如何在调用 SelectItem 函数时强制 CTreeCtrl 不滚动到项目?

c++ - Visual Studio 2012 错误 MSB3073

jquery - 如何使用MVC3 Controller 显示 "Message box"

从相机读取时 C++ OpenCV 0xC0000005 错误