我正在调试一个生成堆问题的DLL。我正在使用堆页面。尝试该DLL的许多版本,调试工作,释放最小尺寸工作但释放最大速度失败。
我知道调试和发布之间的一些区别所以我正在检查可能的初始化问题。但是,我的dll在发行版中工作的事实可以最小化但是在发布最大大小方面可以给我一些关于我犯了什么类型的错误的更多信息吗?
两个二进制文件之间的主要区别是什么? (当然不包括可执行文件大小和执行速度)。
P.S。 :我的dll包含许多QT小部件。我不知道它是否有帮助,但是如果这些物体经常出现错误......
答案 0 :(得分:3)
一般性问题的一般答案:听起来可能存在某种内存损坏。发现或甚至检测到内存损坏的困难之一是,只需对代码进行少量更改,其症状就会出现/消失。这包括调试/发布版本和各种版本优化。
How to debug heap corruption errors?的答案提供了有关调试内存损坏的精彩概述。