我有使用c ++在Windows 7上使用VS 2008编译的应用程序 我得到了异常我试图抓住这个我创建的pdb文件(因为我在发布中编译)。并看到堆栈的一部分,但它没有给我提示错误的位置。 我正在寻找免费的方法来解决这个错误。你可以通过免费的方式来推荐吗?
答案 0 :(得分:4)
Visual C ++内置了非常好的C运行时内存调试工具。
请参阅#define _CRTDBG_MAP_ALLOC
,或阅读:The CRT Debug Heap和Memory Leak Detection Enabling。
它可以检测到:
如果你有一个可重现的案例,问题分配总是在同一时间发生,你可以使用它来设置它进入该分配的调试器。
还有商业工具,如BoundsChecker,HeapAgent和Purify,以及像Fortify这样的免费工具,当然你也可以自己动手,但是你可以通过内置的VisualStudio获得很长的一段时间。