有关多线程机内存泄漏

airsmith_lh 2003-06-11 04:58:16
我这有个业务网关,他从通信网关收TCP包,然后创建业务线程,在业务线程中访问商务中心,并将结果传回通信网关。
业务网关启动后每接收几个包内存就会增长。我找了很长时间也没找出错。我下载了BoundsChecker 6。01,他提示由内存泄漏与资源泄漏,有很多InitializeCriticalSection失败,OLEPRO32.DLL中有内存泄漏,并且提示int nResponse = dlg.DoModal();由内存泄漏。希望大家给点思路。
...全文
143 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
airsmith_lh 2003-06-12
  • 打赏
  • 举报
回复
我使用了
_CrtMemCheckpoint();
_CrtMemDifference();
_CrtMemDumpAllObjectsSince();
好像不是堆的分配问题
suntt 2003-06-12
  • 打赏
  • 举报
回复
内存泄漏真是麻烦事呀!
airsmith_lh 2003-06-12
  • 打赏
  • 举报
回复
大家谈谈自己遇到的内存泄漏,让我们共同提高吧!
airsmith_lh 2003-06-12
  • 打赏
  • 举报
回复
救命啊!
airsmith_lh 2003-06-12
  • 打赏
  • 举报
回复
我由于是每一个包到时,就创建一个线程处理,所以需要他结束。
lichungen 2003-06-12
  • 打赏
  • 举报
回复
你有BoundsChecker出现提示的地方设断点进行调试
如果经常运行到断点处,说明没有内存泄漏或基本上没有
dash 2003-06-11
  • 打赏
  • 举报
回复
我的感觉,一般不要强制结束线程,
其实能不结束就不结束,让它挂起好了。

兄弟,大家都是内存泄漏,看看吧
http://expert.csdn.net/Expert/topic/1903/1903559.xml?temp=.4787104
airsmith_lh 2003-06-11
  • 打赏
  • 举报
回复
我试过了,调用AfxEndThread,线程会正常结束,并调用析构函数
ClassDialog 2003-06-11
  • 打赏
  • 举报
回复
AfxEndThread函数的调用有问题,对于多线程程序,业务处理线程应该在线程处理函数结束后正常退出,如果你调用AfxEndThread,相当于人为的强制结束掉了线程,这样将导致你线程中某些对象的析构函数没有执行,这是导致内存泄漏的主要问题
airsmith_lh 2003-06-11
  • 打赏
  • 举报
回复
此外我这样创建线程
m_OperaThread=new COperaThread(RecvPacket,m_ManSendQueue);
m_OperaThread->m_bAutoDelete = TRUE;
m_OperaThread->CreateThread(0);
在线程中
AfxEndThread(1);
这样结束,请问是否还需要delete m_OperaThread
我调过了,不需要delete m_OperaThread,线程所占空间会被释放
airsmith_lh 2003-06-11
  • 打赏
  • 举报
回复
socket,event,mutex都关闭了
孤必有邻 2003-06-11
  • 打赏
  • 举报
回复
会不会是socket没有关闭(调用close)
airsmith_lh 2003-06-11
  • 打赏
  • 举报
回复
此外我这样创建线程
m_OperaThread=new COperaThread(RecvPacket,m_ManSendQueue);
m_OperaThread->m_bAutoDelete = TRUE;
m_OperaThread->CreateThread(0);
在线程中
AfxEndThread(1);
这样结束,请问是否还需要delete m_OperaThread;
airsmith_lh 2003-06-11
  • 打赏
  • 举报
回复
licyme(锥子),这方面我已反复检查了,不应该有问题,并且在通信网关也使用的是同一种方式,没用问题。所有new的地方我都详细查过,也都跟踪过,的确是正确背删除了。
由谁常用BoundsChecker ,给点思路.
licyme 2003-06-11
  • 打赏
  • 举报
回复
如果你把接收到的包保存在新开辟的内存中,内存增长就当然了。
缓冲区是否动态创建的,是否及时释放了?

15,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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