如何调试堆损坏错误?我在Visual Studio 2008下调试一个(本机)多线程C ++应用程序。在看似随机的场合,我得到一个“Windows触发了一个断点......”错误,并注意到这可能是由于堆。这些错误并不会立即使应用程序崩溃,尽管它很可能会在之后崩溃。这些错误的一个大问题是它们只在实际发生损坏后弹出,这使得它们很难跟踪和调试,尤其是在多线程应用程序上。什么样的事情会导致这些错误?我该如何调试它们?提示,工具,方法,启发......欢迎。
3 回答
慕尼黑5688855
TA贡献1848条经验 获得超2个赞
您可以通过为应用程序启用Page Heap来检测大量堆损坏问题。为此,您需要使用gflags.exe作为Windows调试工具的一部分
运行Gflags.exe并在可执行文件的映像文件选项中,选中“启用页面堆”选项。
现在重新启动exe并附加到调试器。启用页堆后,只要发生堆损坏,应用程序就会进入调试器。
- 3 回答
- 0 关注
- 690 浏览
添加回答
举报
0/150
提交
取消