用Parallel Inspector检测出一个项目的内存错误

作者: Wu Xiaochang 吴晓昶 (Intel) (8 篇文章) 日期: 十一月 20, 2009 在 1:19 上午

最近在做项目开发中,使用了一个开源的代码框架,Debug编译的时候一切正常,但是在Release时候就挂了。找了老半天也没找出哪里错,因为一下就跳到系统DLL,然后就崩溃了,连call stack都看不到了,应该是堆栈被破坏了。根据经验判定可能是内存分配释放问题,因为Release版本可能暴露出一些Debug版本的内存使用问题。

这时想起不是Intel Parallel Inspector能找内存错误吗?就开到它的最大内存错误检查模式试着跑一把。结果大有收获!原来是使用的框架中犯了一个经常犯的错误: p = new Foo [100] 必须用 delete [] p 结果用了delete p,但是用的是别人的框架啊,几万行代码哪儿去找这个不起眼的错误?还是工具好用,马上改过来,一切恢复正常!

分类: 并行计算
标签:

如需了解英特尔软件产品相关的性能和优化选项,请参阅优化注意事项.

 评论 (3)

2009年11月22日 22:30

Yanqing Wang (Intel)
Yanqing Wang (Intel)总分:
10,053
黑带
Intel Parallel Inspector确实很强!
2009年11月23日 06:03


徐军
很实用
2009年12月01日 10:18


千里孤行
这个错误,一般的代码静态检查工具都可以查出来吧?

 引用 (0)


 写评论  

欲获得技术支持,请访问软件支持页面.
姓名 (必填)*

电子邮件 (必填,不在本页面显示)*

您的 URL (可选)


评论*