2012-04-02 99 views
1

我正在調試生成堆問題的dll。我正在啓用堆頁面。嘗試該DLL的許多版本,調試工程,發佈最小尺寸的作品,但發佈最大速度失敗。使用「最大化速度」而不是「最小化大小」的堆問題

我知道調試和發佈之間的一些區別,所以我正在檢查可能的初始化問題。但事實上,我的DLL工作在釋放最小化的大小,但不是在釋放最大大小可以給我更多的信息,我犯了什麼類型的錯誤?

生成的兩個二進制文件有什麼主要區別? (當然不包括可執行文件的大小和執行速度)。

P.S. :我的dll包含很多QT小部件。我不知道它是否可以幫助,但如果這些對象出現常見錯誤...

+0

沒有代碼,您的解決方案可能無法解決;只有廣泛的(明顯的)提示可以給出。 – orlp 2012-04-02 12:27:50

+0

你的錯誤信息是什麼? ©發生問題時,堆棧狀態如何?可能是雙重刪除或緩衝區溢出? – Jem 2012-04-02 12:41:16

回答

3

一般性問題的一般答案:聽起來好像可能會出現某種內存損壞。尋找或甚至檢測到內存損壞的困難之一是,只需對代碼稍作修改,它的症狀就會出現/消失。這包括調試/發佈版本和各種版本優化。

How to debug heap corruption errors?的答案給出了關於調試內存損壞的很好的概述。