我一直在努力尋找一個真正困難的錯誤崩潰我的應用程序在過去的幾個星期。首先,應用程序在分配std :: string時崩潰,然後在沒有局部變量的情況下。valgrind的補充?
仔細檢查代碼後,沒有理由在這些位置崩潰;然而,它試圖釋放無效指針(即指向無效內存的指針)時總是崩潰。而且我不知道爲什麼這個指針沒有指向正確的位置。
我懷疑這個問題與某種內存損壞問題或指針損壞問題有關。問題是,我不能直觀地追蹤它。我不知道從哪裏開始尋找代碼,並且有成千上萬行代碼需要通過,所以這似乎不是一個現實的解決方案。
所以在談到Valgrind的...
,我已經在很多時候取決於找到的代碼,可能會導致這種類型的碰撞中問題的工具。但是,這一次它已空手而來!當問題發生時,我在valgrind中看不到任何錯誤,因此我提出這個問題的原因。
是否有任何其他應用程序可以補充valgrind並幫助找到可能導致上述崩潰的代碼問題?
謝謝!
你可以嘗試張貼能重現問題最小,編譯代碼示例。我敢打賭,試圖編寫這樣的代碼示例的行爲會讓問題變得很明顯。如果沒有,我們很樂意提供幫助。 – 2010-02-18 14:48:08
您想查看代碼崩潰的位置(即崩潰位置的示例)嗎?因爲沒有理由讓它像我剛纔提到的那樣崩潰,但我不介意發佈它 – bbazso 2010-02-18 15:01:22