为了账号安全,请及时绑定邮箱和手机立即绑定

如何调试堆损坏错误?

如何调试堆损坏错误?

C++
ITMISS 2019-07-29 11:15:46
如何调试堆损坏错误?我在Visual Studio 2008下调试一个(本机)多线程C ++应用程序。在看似随机的场合,我得到一个“Windows触发了一个断点......”错误,并注意到这可能是由于堆。这些错误并不会立即使应用程序崩溃,尽管它很可能会在之后崩溃。这些错误的一个大问题是它们只在实际发生损坏后弹出,这使得它们很难跟踪和调试,尤其是在多线程应用程序上。什么样的事情会导致这些错误?我该如何调试它们?提示,工具,方法,启发......欢迎。
查看完整描述

3 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

您可以通过为应用程序启用Page Heap来检测大量堆损坏问题。为此,您需要使用gflags.exe作为Windows调试工具的一部分

运行Gflags.exe并在可执行文件的映像文件选项中,选中“启用页面堆”选项。

现在重新启动exe并附加到调试器。启用页堆后,只要发生堆损坏,应用程序就会进入调试器。


查看完整回答
反对 回复 2019-07-29
?
侃侃无极

TA贡献2051条经验 获得超10个赞

查看完整回答
反对 回复 2019-07-29
  • 3 回答
  • 0 关注
  • 690 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信