码迷,mamicode.com
首页 > 其他好文 > 详细

valgrind检查still reachable情况

时间:2018-06-22 13:25:10      阅读:4107      评论:0      收藏:0      [点我收藏+]

标签:http   日志文件   free   bubuko   val   关闭   src   close   不显示   

valgrind --leak-check=yes检查bufr编解码程序运行时提示still reachable: 568 bytes in 1 blocks,如下图示:

技术分享图片

于是怀疑有内存泄漏,难道是malloc或calloc后没有free?但这样仍看不出哪里代码出了问题,于是开启valgrind的选项--show-reachable=yes再运行一遍,如下图示:

技术分享图片

从上图可以看出问题代码所在,原来是忘了关闭日志文件了!果断添加了close_log_file()在程序最后关闭日志文件,再检测一遍,程序正常。如下图示:

技术分享图片

总结:(1)提示没有free或still reachable的,不仅需要考虑mallc、calloc没有free的问题,还需考虑文件打开没有关闭的问题。

   (2)开启valgrind的选项--show-reachable=yes能显示导致still reachable问题的代码,否则不显示。

 

valgrind检查still reachable情况

标签:http   日志文件   free   bubuko   val   关闭   src   close   不显示   

原文地址:https://www.cnblogs.com/cloudwind2011/p/9212300.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!