我是一名软件实习生,在C++中使用大型项目,&我也是一个团队。令人畏惧(这是你如何拼写:P),是的,但也很有趣。我不知道,但我怀疑它,因为我指向的对象被更新,因此最初分配指针不指向正确的内存地址。查找指针何时超出范围的程序和技巧
正如你可以看到我很困惑自己,这就是为什么我想知道的技术或免费程序这帮助我确定何时& WHERE指针指向空或超出范围(悬挂指针?是最新发生的)
也许我可以使用简单的ASSERT调用来确定指针何时为空?
更多信息:现在我的问题是,我有一个类的成员变量是指针。它们在构造函数的末尾由构造函数&初始化,这些指针指向正确的对象。但在对事件的反应中,当我看着这些指针时,它们是空的/超出范围。我可以确定这是因为1.程序崩溃& 2 eclipse调试器将它们显示为红色空心圆圈(我认为这意味着指向NULL或超出范围?)。
我认为你需要做得比这更好。如果它们变成'NULL',那是因为有些东西将它们设置为'NULL'。我没有看到任何没有看到你的代码的人可以说如何。哦,并且无论如何,如果您需要澄清发生的事情,请将'ASSERT'放在所有位置。而且,当你在使用调试器的时候,它也会变得更好。 – 2011-04-21 03:33:54
您提到使用Eclipse;你在Windows上,你有/可以使用Visual Studio吗?VS2010和2008的某些版本附带内置的分析功能,可以提供一些帮助。您也可以下载WDK并从中使用PREfast。 – ssube 2011-04-21 03:34:53
更新一个对象不会*使指向它的指针无效。 – fredoverflow 2011-04-21 07:52:27