Chinaunix首页 | 论坛 | 博客
  • 博客访问: 628297
  • 博文数量: 603
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 4940
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-17 11:04
文章分类

全部博文(603)

文章存档

2011年(1)

2008年(602)

我的朋友

分类:

2008-09-17 11:11:30

为什么我的Receive函数会发生内存泄漏?

我做了一个服务程序,采用CSocket(Tcp协议)接收前端发送过来的数据并进行处理,程序须24小时运行,调试的时候发现PF使用率不断增加.先用Boundschecker检查内存泄漏,但只报告了MFC的一些资源泄漏(不管了,听说Boundschecker是会查出MFC的问题,但不用过多关心);怀疑是数据处理函数里存在泄漏,于是仔细检查了所有的new 和 malloc,并用CMemoryState类检查处理函数,但也未发现内存泄露;最后用CMemoryState类检查Receive函数时竟然报告有内存泄漏,并且不是每次接收数据都泄漏,而是随机的.按道理CSocket是绝不会有这种低级bug的,于是我想看看接收错误前后的内存状态,就在Receive函数处加了_CrtDumpMemoryLeak函数,想在CMemoryState发现内存泄漏的时候对比Receive前后状态,但这时又有一个奇怪的现象:只要加上了_CrtDumpMemoryLeak,CMemoryState就没有检查到内存泄漏了.我刚开始学习编程,也是第一次用vc,水平比较低实在是搞不明白了,麻烦各位帮我分析一下是什么问题,谢谢了哈!


--------------------next---------------------

阅读(236) | 评论(0) | 转发(0) |
0

上一篇:下一主题

下一篇:显示可打印版本

给主人留下些什么吧!~~