3

我有我用 VS 2008 在 windows 7 上用 c++ 编译的应用程序我得到了异常我试图捕捉这个我创建的 pdb 文件(因为我在发布中编译)。并查看堆栈的一部分,但它没有给我提示错误在哪里。我正在寻找免费的方法来获得这个错误。你能推荐免费的方法来做到这一点吗?

4

1 回答 1

4

Visual C++ 内置了相当不错的 C 运行时内存调试工具。

请参阅#define _CRTDBG_MAP_ALLOC或阅读:CRT 调试堆内存泄漏检测启用

它可以检测:

  • 内存泄漏
  • 双重删除
  • 在分配的内存结束后写入

如果您有一个可重现的情况,即问题分配总是同时发生,您可以使用 set it 来闯入该分配的调试器。

还有诸如 BoundsChecker、HeapAgent 和 Purify 之类的商业工具,以及 Fortify 之类的免费工具,当然您也可以自己开发,但您可以通过内置的 VisualStudio 获得很长的路要走。

于 2010-05-12T20:36:31.297 回答