【发布时间】:2010-05-12 20:34:28
【问题描述】:
我有我用 VS 2008 在 windows 7 上用 c++ 编译的应用程序 我遇到了异常,我试图抓住这个我创建的 pdb 文件(因为我在发布时编译)。并查看堆栈的一部分,但它没有给我提示错误在哪里。 我正在寻找免费的方法来解决这个错误。你能推荐一些免费的方法吗?
【问题讨论】:
标签: c++ exception profiling free
我有我用 VS 2008 在 windows 7 上用 c++ 编译的应用程序 我遇到了异常,我试图抓住这个我创建的 pdb 文件(因为我在发布时编译)。并查看堆栈的一部分,但它没有给我提示错误在哪里。 我正在寻找免费的方法来解决这个错误。你能推荐一些免费的方法吗?
【问题讨论】:
标签: c++ exception profiling free
Visual C++ 内置了相当不错的 C 运行时内存调试工具。
请参阅#define _CRTDBG_MAP_ALLOC,或阅读:The CRT Debug Heap 和 Memory Leak Detection Enabling。
它可以检测到:
如果您有一个可重现的情况,即问题分配总是同时发生,您可以使用 set it 来闯入该分配的调试器。
还有 BoundsChecker、HeapAgent 和 Purify 等商业工具,以及 Fortify 等免费工具,当然您也可以自行开发,但使用内置的 VisualStudio 可以获得很长的路要走。
【讨论】:
assert() 等等)几乎总是未初始化的变量和竞争条件.也许这会给你一些开始的地方?