访问冲突读取位置0xfeef002A

时间:2012-03-13 23:03:47

标签: c++ visual-studio access-violation

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

访问违规的原因可能是什么原因?

1 个答案:

答案 0 :(得分:2)

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

我怀疑你的代码中可能发生的事情是一个对象已经被释放但是你仍然有一个指向它的指针(一个悬空指针)并且你试图访问一个成员变量那个对象。您可以采取一些措施来诊断此问题,具体取决于代码的复杂程度。一种是启用Page Heap Verification,另一种是在被解除引用的类的析构函数中添加一些断点,以便找出对象被销毁的位置,这样您就可以重置引用它的其他指针。考虑使用shared_ptr<>之类的智能指针来降低悬挂指针的可能性。