如何检测MinGW下的堆损坏错误?

如何调试mingw构建的二进制文件来检测堆错误? 我看到这个主题有几个问题,但它们是一般的,很难找到能与MinGW一起工作的工具。 我花了很多时间寻找解决方案,我希望这个综合主题将会有所帮助。

例如,在Visual Studio调试器中运行Visual Studio调试器时,如果有人报告库中存在一个错误,并在“堆错误”中停止,那么这样的工具就变得非常必要。


Microsoft提供了一个名为Application Verifier的工具。 这是一个GUI工具,可以改变系统设置以在受控环境中运行选定的应用程序。 如果程序导致可检测到的内存错误,可以使程序崩溃 。 这是一个可以调试的受控崩溃。

幸运的是,它可以从Microsoft单独下载获得。 另一种获取它的方法是使用选中的Application Verifier复选框安装Windows SDK。 SDK还提供了一个选项Application Verifier redistributable。

配置应用程序验证程序以查看您的应用程序后,您需要对其进行调试。 在MinGW下进行调试是一个更常见的主题,已经在stackoverflow上进行了解释。 [mingw] [调试]在stackoverflow上的查询给出有趣的文章。 其中之一是如何使用MinGW gdb调试器来调试Windows中的C ++程序? Gdb是我用过的。

一般问题如何调试堆损坏错误? 和C ++的堆损坏检测工具对找到这个工具很有帮助,但我不确定它是否与MinGW兼容。 它是。

链接地址: http://www.djcxy.com/p/82313.html

上一篇: How to detect heap corruption errors under MinGW?

下一篇: How to debug nondeterministic access violation crash?