2011-11-13 65 views
0

我有很長的代碼,有多個進程,並在程序運行過程中的某個地方出現「無效的下一個大小(快速)」和一些沒有意義的數字。內存故障

我不能讓gdb單獨運行在這個過程中,我不知道在程序中發生了什麼。我把printf的左邊和右邊(我用fflush來沖洗它,所以它會在那時正好打印出來),但是當這種情況發生時,我仍然無法找到確切的線!

應該如何調試這樣的問題?我會很感激這個幫助,因爲我嘗試了所有我能想到的。

回答

0

首先試圖找到符合

grep -rni "invalid next" *.c 

假設它是在一些子目錄中的所有C文件。那麼你應該看看這些數字是什麼意思(或糾正錯誤信息更有意義)。如果你沒有GNU的grep的:

find -name '*.c' | xargs grep -ni "invalid next"