51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2478|回复: 12
打印 上一主题 下一主题

[讨论] 内存泄漏

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-7-25 13:57:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
昨天去面试,遇到这样一道面试题.
问:一般出现内存泄漏的原因是什么?通常如何防止内存泄漏?
感觉范围太广,就没作答.今天查了一下,也没个所以然,于是就到这里来请教,希望知道的朋友能告知一下,小妹在此先谢过啦!


[ 本帖最后由 annabel321 于 2007-7-25 14:42 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-7-25 16:40:25 | 只看该作者
我们新作的系统好像就遇到过内存泄漏的问题……回忆一下,好像是内存占到了接近1G的时候,很多进程就被杀掉了……貌似是这么引起的,具体的忘了,我们当时的解决办法是,换了一种方式来处理程序,并没有直接去解决内存泄漏的问题,要防止应该是很难的。
你是面试什么啊,问这种问题,这貌似应该程序员解决的事情
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-7-25 19:08:02 | 只看该作者
申请了内存空间没有释放就会导致内存泄露。
发现某处申请了空间,则在程序中找何处释放了该空间。也有工具能检测内存泄露。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-7-25 20:53:17 | 只看该作者
面试测试呀,当时题目也没要求是在哪种语言里面泄漏,只是觉得会有很多种可能,但一时又说不上来,更别说防止措施了,嘿嘿,谢谢呀!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-7-25 21:42:42 | 只看该作者
赞同3楼的解释,由于程序中某个或某几个函数申请了内存,但在函数结束前未对之前申请的内存进行释放,这就会导致内存泄漏,虽然该导致内存泄漏的函数每次申请的内存并不大,但如果该函数被反复调用,内存会被占用愈来愈多,造成系统内存资源紧张。
我想应从大到小排查,即从模块级开始,直至定位到某一函数,可反复调用(几百次)可疑模块或函数,并通过性能监测工具观察内存占用情况。排查的工作量是相当大的。
要防防止内存泄漏,开发人员应养成良好的编程习惯,做到在哪里申请了内存,用完后就及时释放。走读代码时看到申请内存的语句,就要关注是否有相应的释放语句。

[ 本帖最后由 NODDY820 于 2007-7-25 21:44 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-7-25 22:27:05 | 只看该作者
内存申请到后 使用完 却没有释放~
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-7-26 09:17:11 | 只看该作者
这个问题碰到过一直没解决 感谢告知
受益匪浅
学习中。。。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-7-26 10:47:16 | 只看该作者
6楼正解
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-7-26 14:21:14 | 只看该作者
出这个问题的原因比较多,估计是内存不足,用硬件上解决是加内存
然后是优化程序,通常是程序造成内存泄漏,还有就是楼上说的释放些空间不来
如果说到防止就要经常把不用的程序什么的释放出来保证有足够的内存空间
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-7-26 16:21:43 | 只看该作者
这要看代码来解决了。内容泄漏由于申请了内存空间,没有释放所产生的。可以使用专门的内存泄漏检查工具来检查。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-8-6 20:27:46 | 只看该作者
第一次听说,学习了.
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-8-7 08:41:14 | 只看该作者
很简单:new完以后没有释放。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2007-9-16 11:10:00 | 只看该作者
嗯,受益匪浅.
谢谢各位兄弟姐妹啦!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-28 08:26 , Processed in 0.072423 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表