方案:1 将代码移植到windows下,用PC-Lint 检查,后来操作发现Linux下的头文件很多搞不定
2 直接在Linux 下用splint,静态检查,需要很多头文件,也搞不定
3 动态检查,编译好可执行程序,用valgrind,省事很多,直接跑起来就搞定了
valgrind下载地址:http://valgrind.org/downloads/current.html 下载后,需要./configure make install 编译时间比较久
命令方式:valgrind --leak-check=full --log-file=valgrind_log.txt --track-fds=yes --trace-children=yes ./**** ****为可执行文件
--log-file可以将检测结果写入日志文件
--track-fds可以检测句柄泄露(猜的)
--trace-children可以检测子进程
另外如果是服务进程,需将服务进程kill掉之后才可以运行上面的程序
valgrind的操作方法可以参考:http://www.linuxidc.com/Linux/2012-06/63754.htm