| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 206 人关注过本帖
标题:为什么我的Receive函数会发生内存泄漏?
收藏  订阅  推荐  打印 
新用户2007
Rank: 1
等级:新手上路
帖子:2
积分:120
注册:2007-5-14
为什么我的Receive函数会发生内存泄漏?

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

第一次用就这么牛

[bc09] 犯强汉者,虽远比诛!
2007-5-15 08:30
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.062807 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved