Symbian下tinyXML的内存泄露问题
来源:互联网 发布:跑鞋矩阵2017 编辑:程序博客网 时间:2024/05/17 12:52
1. 在Symbian 9.1/S60_3rd_MR_2平台初使用tinyXML读取配置文件, 基本使用其最简单的功能,代码如下:
TiXmlDocument doc(wsName);
if (!doc.LoadFile())
{
return -1;
}
TiXmlElement* pElem = doc.RootElement();
开始测试时发现退出应用时,总暴出Alloc泄露问题。初始并未地意问题,到最后,主功能完成之时,不得不去解决。开始用屏蔽方法,逐渐的发现屏蔽上述代码之后,泄露问题会不存在。断定可能在tinyXML存在泄露问题,但转念想到tinyXML多么成熟的代码,会犯如此低级错误吗?
感谢同事提供的信息,使用HookLogger来测定泄露位置,同事感谢Symbian开发如此好用的工具(比我以前所在公司开发的泄露检测工具好很多).HookLogger定位于tinyXML中fopen( filename, mode )函数。再次百度,需要使用CloseSTDLIB(),理由如下 。在打开文件后,调用上述函数,fopen函数泄露已经去掉,但在QueryIntAttribute函数附近还存在,原因使用sscanf函数。我不得不将CloseSTDLIB()移到TiXmlDocument 中析构函数中,再次运行内存泄露已经远离我而去。不暴错误的感觉真是太好.
提示:
Because the data allocated in the thread-local storage for STDLIB's DLL (the _reent structure) is not automatically cleaned up when the environment is destroyed, it must be cleaned up by the user of STDLIB.
The function to achieve this is CloseSTDLIB(). To use this function, file epoc32/include/libc/sys/reent.h should be included in the project. Call CloseSTDLIB() after the point at which it is known that code in STDLIB's DLL will no longer be called and its thread-local storage no longer needed.
- Symbian下tinyXML的内存泄露问题
- 内存泄露的问题
- ARC下内存泄露问题
- ARC下内存泄露问题
- Symbian 防止RPointerArray内存泄露
- symbian 内存泄露工具HookLogger
- iOS开发 ARC下造成内存泄露的问题
- windows下静态编译log4cplus遇到的内存泄露问题
- 解决 Symbian OS 内存泄露的好工具 - HookLogger!
- ARC 下的内存泄露
- COleDateTime的内存泄露问题
- _bstr_t的内存泄露问题
- flex的内存泄露问题
- _endthreadex内存泄露的问题
- MFCLinkCtrl 的内存泄露问题
- android内存泄露的问题
- android内存泄露的问题
- android内存泄露的问题
- PHP文件包含漏洞原理分析和利用方法
- 顺序串的删除操作
- 数据库备份
- PHP数组学习排序全接触
- 顺序串的插入操作,在pos位置后
- Symbian下tinyXML的内存泄露问题
- 查看Apache 连接数
- 有关数据库存储过程编写的经验总结
- 删除递增线性表中值大于min且小于max的元素
- 在应用程序中输出函数调用栈
- SQL Server 2005/2008 锁和阻塞的监控
- 比较购物网站列表
- 从la中删除字第i个元素起共len个元素后,将他们插入到表lb中第j个元素之前
- 列出目录下的文件