4

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

例如,当有人在 Visual Studio 调试器下运行库时报告了您的库中的错误,这样的工具变得很有必要,该调试器以“堆错误”停止。

4

1 回答 1

6

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

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

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

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

于 2012-10-31T07:24:18.557 回答