社区
进程/线程/DLL
帖子详情
有关多线程机内存泄漏
airsmith_lh
2003-06-11 04:58:16
我这有个业务网关,他从通信网关收TCP包,然后创建业务线程,在业务线程中访问商务中心,并将结果传回通信网关。
业务网关启动后每接收几个包内存就会增长。我找了很长时间也没找出错。我下载了BoundsChecker 6。01,他提示由内存泄漏与资源泄漏,有很多InitializeCriticalSection失败,OLEPRO32.DLL中有内存泄漏,并且提示int nResponse = dlg.DoModal();由内存泄漏。希望大家给点思路。
...全文
143
15
打赏
收藏
有关多线程机内存泄漏
我这有个业务网关,他从通信网关收TCP包,然后创建业务线程,在业务线程中访问商务中心,并将结果传回通信网关。 业务网关启动后每接收几个包内存就会增长。我找了很长时间也没找出错。我下载了BoundsChecker 6。01,他提示由内存泄漏与资源泄漏,有很多InitializeCriticalSection失败,OLEPRO32.DLL中有内存泄漏,并且提示int nResponse = dlg.DoModal();由内存泄漏。希望大家给点思路。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
如果你把接收到的包保存在新开辟的内存中,内存增长就当然了。
缓冲区是否动态创建的,是否及时释放了?
opencv3和opencv4
多线程
内存泄漏
问题
opencv3和opencv4
多线程
内存泄漏
问题:以cv::resize函数测试结果为例。 使用中可修复或者可避免
内存泄漏
:1)使用opencv2的版本;2)在代码中设置修复该问题.
CString内存泄露HTML.rar
10. `
多线程
的cstring
内存泄漏
问题_VC-MFC讨论_积木群组.htm`: 提到了
多线程
环境下的CString内存泄露,可能是对线程安全性的进一步讨论。 总结起来,这个压缩包包含的信息主要集中在以下几个方面: - **内存泄露...
内存泄露检测+锁管理
内存泄露检测是识别并解决这一问题的关键步骤,而锁管理则涉及到
多线程
编程中的同步和互斥,确保数据的一致性和程序的正确性。 在Windows和Linux环境下,内存泄露检测可以通过多种工具和方法进行。在Windows中,...
boost threadpool(修复内存泄露后的版本)
Boost Threadpool库是一个高效、灵活且可定制的线程池实现,它被广泛用于
多线程
编程中,特别是在C++环境中。线程池允许开发者管理一组预创建的线程,而不是为每个任务创建新的线程,这能显著提高程序性能并减少系统...
PHP CURL 内存泄露问题解决方法
不论用单线程和
多线程
都无法避免!是curl访问https站点的时候有bug! 内存泄露可以通过linux的top命令发现,使用php函数memory_get_usage()不会发现。 经过反复调试找到解决办法,curl配置添加如下几项解决问题: ...
进程/线程/DLL
15,466
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章