如何調試堆損壞錯誤?我在Visual Studio 2008下調試一個(本機)多線程C ++應用程序。在看似隨機的場合,我得到一個“Windows觸發了一個斷點......”錯誤,并注意到這可能是由于堆。這些錯誤并不會立即使應用程序崩潰,盡管它很可能會在之后崩潰。這些錯誤的一個大問題是它們只在實際發生損壞后彈出,這使得它們很難跟蹤和調試,尤其是在多線程應用程序上。什么樣的事情會導致這些錯誤?我該如何調試它們?提示,工具,方法,啟發......歡迎。
3 回答

慕尼黑5688855
TA貢獻1848條經驗 獲得超2個贊
您可以通過為應用程序啟用Page Heap來檢測大量堆損壞問題。為此,您需要使用gflags.exe作為Windows調試工具的一部分
運行Gflags.exe并在可執行文件的映像文件選項中,選中“啟用頁面堆”選項。
現在重新啟動exe并附加到調試器。啟用頁堆后,只要發生堆損壞,應用程序就會進入調試器。
- 3 回答
- 0 關注
- 736 瀏覽
添加回答
舉報
0/150
提交
取消