2008年8月26日星期二

use Valgrind to check memory leak

昨天发现自己的程序中含有不少内存错误,准备今天大干一把,搞定之。
下午真正开始干的的时候才发现:内存错误的定位真是太难了,编译器给出的信息基本没什么用。
正要抓狂的时候,我忽然想起UNIX/C课上似乎讲过一种检查C程序的工具,可以检查出内存和一些逻辑错误。然后查到了splint,可是它只能检查C,对C++就没办法了。幸好又查到了Vargrind这个强大的工具。这是Vargrind的主页

用了这个工具之后,果然检查出无数错误。一一排查之,最后终于把所有的内存错误全都修改过来了。还是那句话:公欲善其事,必先利其器。

没有评论: