我主要爲我的工作使用C語言。我遇到過很多問題,並且花費很多時間調試與動態分配的內存損壞/覆蓋相關的問題。像malloc(A)一個字節,但使用超過A字節的寫入。爲實現這一目標我試圖讀幾件事情,當我讀到: -內存相關的錯誤
1)的一種方法,其中一個比什麼是需要分配更多的內存。並在這些額外的位置寫出一些已知的價值/模式。然後在程序執行期間,該模式應該是未觸及的,否則它表示內存損壞/覆蓋。但是這種方法是如何工作的。這是否意味着每次寫入使用malloc()分配的指針時,我應該對額外的哨兵模式進行內存讀取並閱讀它的完整性?那會讓我整個節目很慢。 而且我們可以從發佈版本的代碼中刪除這些檢查,也不是富有成效的,因爲與內存相關的問題在「真實場景」中可能會發生得更多。我們可以處理這個問題嗎?
2)我聽說有一種叫做HEAP WALKER,這使程序來檢測內存相關的問題?如何能夠實現這一點。
謝謝。
-AD。
92個問題,但只接受18%?爲什麼是這樣? – 2010-01-03 10:18:00