使用valgrind检测到sqlite3.c如何检测内存泄漏漏,怎么处理

软件使用sqlite数据库进行数据存储程序运行后打开并初始化数据库,因为是服务软件之后数据库就一直处于打开状态是不是没有关闭数据库导致如何检测内存泄漏漏?请夶牛们指点一下!谢谢!


那不是泄露比如,你动态分配一块内存生命周期同程序,不能释放这能是泄露吗?

 当你一直开着数据库进荇读写时内存不释放时正确的。如果你关闭数据库却没有释放内存才是正真正的泄露。

你一直在用并且加入数据一定的增长是正常嘚。
不过也不会一直涨下去到100%你可以继续测试下,,

valgrind可以的了一般就用它查。

你砍下新增加的内存是不是用来做cache了

让程序按照你的想法运行几次,但不是一直运行.

改成这样,有意的运行几次意思意思,而不是永久.

那么就应该while中有问题了.这样排查起来就目的明确多了.

再看看程序是否按照你的意愿malloc/free


}

我要回帖

更多关于 如何检测内存泄漏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信