今天调试出两个内存泄露
来源:互联网 发布:在线生成数据统计图表 编辑:程序博客网 时间:2024/04/30 15:30
今天调试程序,就发现了两处内存泄露,在PC上有的问题运行时会提示,但wince系统下这方面做的就不够,现在把两个错误写下来。
1.我在程序中读取MP3的专辑图片,需要预先把一块内容读出,然后再把图片数据分离出来,原理如下
BYTE *pData = new BYTE[dwSize]; //包含头信息,图片数据
//作出判断,这时 pData经过几次 pData++ 已经不再指向new的那块内存初始地址
delete[] pData; //这时出现内存泄露 pData已经变化了
如果这段代码多次使用,就会严重泄露
2.CreateDIBSection() windows API函数 ,这个函数会让系统为位图分配内存,它的第四个参数是一个双指针
如果在使用时如下就会出现内存泄露
BYTE *pBitData = new BYTE[dwSize]; //自己动态分配的内存
HBITMAP hbmp = CreateDIBSection(hDC, &bi, DIB_RGB_COLORS, (void**)&pBitData, NULL, 0); //系统要分配一块内存,这时pBitData指向系统分配的那块内存
///
delete[] pBitData; //这时删除的只是系统分配的那块,自己动态分配的就没有删除
如果代码多次执行就会出现严重泄露
上边泄露,编译执行程序刚开始发现不了,但程序执行一段时间,重复执行泄露代码,程序就会崩溃!
- 今天调试出两个内存泄露
- 内存泄露调试
- VC调试内存泄露
- [DEBUG]内存泄露调试
- android 内存泄露调试
- 内存泄露的调试
- ios 内存泄露调试
- 调试内存泄露
- 内存泄露调试
- android 内存泄露调试
- 内存泄露调试
- Android内存泄露调试
- 内存泄露及调试
- CRT调试内存泄露
- opencv调试-内存泄露
- 内存泄露如何调试
- 内存泄露调试技巧(转)
- 使用HookLogger调试内存泄露
- C# 域 属性 索引指示器 命名空间 方法
- Web负载均衡
- 我的低级程序员之路1
- sed命令详解
- jQuery获取Select选中的Text和Value
- 今天调试出两个内存泄露
- 求助:server端向client端发syn包,客户端不响应?
- oracle ceil floor 函数的用法
- SwfUpload 进度条结构
- 重读C++之一:封装、继承和多态
- java查看磁盘空间的两个版本
- Servlet中response.getOutputStream() 默认编码是gb2312
- 如何进行高效JavaScript单元测试
- Hog+Camshift的人体跟踪