找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4400|回复: 2

关于ACE例子程序内存泄露问题

[复制链接]
发表于 2010-11-30 11:02:28 | 显示全部楼层 |阅读模式
我做一个Server的控制台程序,当程序从VC2008里面按“运行”启动后,控制台停留在界面上,如果这时关闭控制台,会发现VC2008的调试窗口出现
Detected memory leaks!
Dumping objects ->
{182} normal block at 0x003DCEB0, 8 bytes long.
Data: <  =     > 20 C6 3D 00 CD CD CD CD
...
之类的内存泄露提示,由于找不到原因,所以我试着运行ACE自带的例子程序,我运行了
..\ACE+TAO+CIAO-5.8.0\ACE_wrappers\examples\C++NPv1下的C++NPv1_PPC_Logging_Server工程和C++NPv1_Iterative_Logging_Server工程,都是先设置好监听端口,然后从IDE中运行程序,接着手动关闭控制台程序,结果我就看见了调试窗口的
Detected memory leaks!
Dumping objects ->
.....
这是什么原因呢,为什么自带的例子也会有内存泄露呢?大家的程序如果按照我这样的操作是怎么避免内存泄露的呢
 楼主| 发表于 2010-11-30 11:21:38 | 显示全部楼层
补充一点,我编译ACE时加了宏“#define ACE_HAS_MFC 1”,但是我的写的是个动态库,在控制台里面调用,这个动态库是标准的Windows动态库,不是MFC的,请问这样是不是会有问题
发表于 2010-11-30 11:33:44 | 显示全部楼层
不是很了解你的问题。

如果使用ACE自带的例子,一般不会出现类似的内存泄露的问题,除非有些东西经过自己改造之后,由于对ACE内部实现的不了解,导致资料回收不充分的原因,可能会导致 内存泄漏,除此之处,可能性不大。

另外,ACE的示例代码,有时候做的singleton对象出来之后,在进程退出之前,未做Fini工作的话,仍然会被内存检测工作报出内存泄漏出来 的。你可以排查一下。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-12-22 21:44 , Processed in 0.022655 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表