如何用写一段源代码检测有内存泄漏?

djvulee 2012-02-29 08:56:10
对于C++/C内存泄漏总是一个很严重的问题,如果自己写一段代码,用来简单的检测是否有内存泄漏,有什么思路?
(不是使用检测工具)路过的大牛指点一下!
...全文
195 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
binghezhijian 2012-03-01
  • 打赏
  • 举报
回复
养成良好的编程习惯是避免内存泄露的一个王道
Furney 2012-03-01
  • 打赏
  • 举报
回复
自己写还是挺麻烦的,平时写程序的时候注意内存的使用和对象的建立释放就可以啦。
qixing1115 2012-03-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 djvulee 的回复:]
对于C++/C内存泄漏总是一个很严重的问题,如果自己写一段代码,用来简单的检测是否有内存泄漏,有什么思路?
(不是使用检测工具)路过的大牛指点一下!
[/Quote]
人家专业的是吃白饭的啊?
gold_water 2012-03-01
  • 打赏
  • 举报
回复
enic 2012-03-01
  • 打赏
  • 举报
回复
这个简单的很多,但是管用的很少,一个简单的功能全部写完也就不到200行吧
就一个map关联指针和一下描述信息,new的时候insert delete的时候remove
enic 2012-03-01
  • 打赏
  • 举报
回复
这个简单的很多,但是管用的很少,一个简单的功能全部写完也就不到200行吧
就一个map关联指针和一下描述信息,new的时候insert delete的时候remove
djvulee 2012-03-01
  • 打赏
  • 举报
回复
谢谢各位的回答!我本人不是要写一个,只是想了解实现泄漏检测的原理和方法。
menzi11 2012-03-01
  • 打赏
  • 举报
回复
计数器检测new和delete最方便了.但别忘了计数器要用原子操作
Lactoferrin 2012-02-29
  • 打赏
  • 举报
回复
这要看你的程序动态分配了哪些资源
如果只是用new创建对象,则可以重写new和delete来记录
东莞某某某 2012-02-29
  • 打赏
  • 举报
回复
简单的根据new操作符来跟踪是极度不准确的,楼主要写MFC程序的还是通用的? 可以参考下别人的检测工具原理,你能写出一个算你牛。当然要包括句柄trace ,和 gdi 对象的trace
梦之安魂曲 2012-02-29
  • 打赏
  • 举报
回复
自己写操作符new和delete替换系统的,自己实现内存分配和释放的监控。
xiaohuh421 2012-02-29
  • 打赏
  • 举报
回复
如果你自己简单写一段就能检测出来,那别人的专业内在泄漏检测工具拿来有什么用.
简单的方法就是整个工程搜索new,或者其它动态申请内存的关键字,然后自己判断是否有释放的地方,并且能否保存全部释放.

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧