调查指针变坏的原因(C++)

Sha*_*ala 1 c++ pointers watch visual-studio-2008 visual-studio-debugging

我在VS 2008中研究的一段C++代码有一个糟糕的指针.指针已正确初始化,并且只有很少的代码行引用它.我在调试时把手表放在这个指针上.

当调用某个方法时,指针的值突然从0x05fe0040""变为0x00000000 Bad Ptr(在VS2008的Watch窗口中).我无法弄清楚为什么会这样.代码行之间的指针没有操作,它会丢失其值.

我该如何进一步调查?这个指针变坏的原因是什么?

我是C++编程的新手,并且是第一次使用VS2008,所以请解释您认为相关的任何内容.

Sum*_*uma 5

如果操作变量的任何代码都没有更改该值,则必须通过杂散/悬空指针缓冲区/数组溢出来访问它.

在指针变量上使用内存断点,这样调试器会快速显示哪些代码正在破坏它.