我是一名軟件實習生,在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