5545|17

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

令人伤心的sqlite3 [复制链接]

                  for(int i=20;i--;)
                {
                        sqlite3* pDB = NULL;
                        sqlite3_open16(DATABASE_PATH, &pDB);
                        if(pDB)
                                _sqlite3_close(pDB);
                }
    如此简单的一段代码。只是打开关闭数据库,居然也能有内存泄露,没有比这更让人伤心的了,完全查不到问题所在。这代码难道有什么错么?(打开和关闭都是返回的正确值),谁方便的帮测试下,谢谢

最新回复

这个应该是正确的,但是对我没有用。。我也知道不是sqlite的问题,我就想问,大家有没有遇到过类似的问题。  详情 回复 发表于 2010-3-9 08:56
点赞 关注

回复
举报

3

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
友情帮顶下。


MARK,期待高手,学习下。
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
  经过反复测试,发现在MFC消息处理时调用有内存泄露。如果不用MFC,或者不在MFC消息处理函数中调用就没事。哎,这MFC。。太让人不省心了,用着提心吊胆的
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

4
 
这位仁兄,加我吧,我应该可以帮你。但是我不知该怎么在这里和你说。你加我Q吧:520529451
我也刚把SQLITE做好。没什么问题。我们可以讨论下
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 
你在open前加个delete。如果有delete功能
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

6
 
。。。你找找前面的帖子,前段时间不是有个兄弟冒着生命危险把公司的SQLite的code贴出来了。。你找找看。。呵呵。
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 7 楼 xumercury 的回复:
引用 6 楼 qwqwqw408 的回复:引用 4 楼 xumercury 的回复: 。。。你找找前面的帖子,前段时间不是有个兄弟冒着生命危险把公司的SQLite的code贴出来了。。你找找看。。呵呵。 。。那个人就是我,当时只是测试功能正常。没有发现内存泄漏的问题,现在测试发现会有内存泄漏,应该不是sqlite的问题,是MEC,不知道为什么在MFC中用会有内存泄露。
你检查下你自己new或者malloc的变量有没有release掉咯。。。或者其他有申请了内存的在结束时候是否有release咯。这个东西没办法。只能自己找找,理论上MFC没关系。MFC虽然是很臃肿的一个框架,但是还是禁得起考验。或者。。。。你有没有用到什么嵌套调用的地方嵌套层次太深了。。。都是需要检查的。工作量还是有一些。


我都只是打开和关闭数据库而已。。没有其他任何操作啊,new就更谈不上了。而且这里的内存泄露以4K为单位,很像是GDI资源泄漏,感觉是数据库相关代码引起了MFC的GDI资源泄漏。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 4 楼 xumercury 的回复:
。。。你找找前面的帖子,前段时间不是有个兄弟冒着生命危险把公司的SQLite的code贴出来了。。你找找看。。呵呵。
有吗?我怎么没看到啊??是在这个版块吗???
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

9
 
sqlite3经常出现莫名奇妙的错误
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(中级)

10
 
引用 4 楼 xumercury 的回复:
。。。你找找前面的帖子,前段时间不是有个兄弟冒着生命危险把公司的SQLite的code贴出来了。。你找找看。。呵呵。


。。那个人就是我,当时只是测试功能正常。没有发现内存泄漏的问题,现在测试发现会有内存泄漏,应该不是sqlite的问题,是MEC,不知道为什么在MFC中用会有内存泄露。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

11
 
问题95%以上出在自身。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

12
 
我也用了它,东西存在nandflash里感觉速度慢了点,内存泄露但是没发现
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

13
 
引用 6 楼 qwqwqw408 的回复:
引用 4 楼 xumercury 的回复:
。。。你找找前面的帖子,前段时间不是有个兄弟冒着生命危险把公司的SQLite的code贴出来了。。你找找看。。呵呵。

。。那个人就是我,当时只是测试功能正常。没有发现内存泄漏的问题,现在测试发现会有内存泄漏,应该不是sqlite的问题,是MEC,不知道为什么在MFC中用会有内存泄露。

你检查下你自己new或者malloc的变量有没有release掉咯。。。或者其他有申请了内存的在结束时候是否有release咯。这个东西没办法。只能自己找找,理论上MFC没关系。MFC虽然是很臃肿的一个框架,但是还是禁得起考验。或者。。。。你有没有用到什么嵌套调用的地方嵌套层次太深了。。。都是需要检查的。工作量还是有一些。
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

14
 
sqlite本来就是开源的,还需要冒死泄露代码吗?
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

15
 
sqlite3用了很久,一点问题也没有。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

16
 
刚做完一个Sqlite3的项目,没有这个泄露的问题,只有加密的时候有40K泄露
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

17
 
引用 10 楼 linuxghs 的回复:
sqlite本来就是开源的,还需要冒死泄露代码吗?


泄露的是怎么使用它的,并不是其本身,不是说开源的东西就都会用的。。
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

18
 
引用 12 楼 kking 的回复:
问题95%以上出在自身。


这个应该是正确的,但是对我没有用。。我也知道不是sqlite的问题,我就想问,大家有没有遇到过类似的问题。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表