DAMAGE: after Normal block (#) at 0x....错误分析
来源:互联网 发布:网络弹棉花是什么意思 编辑:程序博客网 时间:2024/05/16 23:47
在大量试用动态内存分配时很容易发生错误,譬如:,
发现这个问题时,我很郁闷,因为这个bug不是经常出现的!经过大量的数据去测试,才发现这样的问题,根据不断的重复调试,最后定位到delete;new和delete的代码行很简单;就一行代码,问题出现在这里,应该就是内存操作出现问题.
在我的程序里大量试用了new来进行动态分配内存,经过代码排除法,最好定位到的代码行时memcpy()这个函数里!设断点调试,发现复制到内存空间的字节数比分配的空间要大,但编译器不会提示错误,而且运行起来不释放内存的话程序也没问题,一调用delete释放内存空间就会出现上面的Debug Error;
造成上面Debug Error的原因是: delete释放的内存空间比new的空间要大,破坏了其他正常的数据,造成内存溢出;而导致这个的根本原因是内存越界操作:需要复制的内存空间比分配的内存空间要大!
解决方法: 增加分配的内存空间.
- DAMAGE: after Normal block (#) at 0x....错误分析
- DAMAGE:After normal block(#****)错误
- DAMAGE:after Normal Block(#63) at 0x00382ca8
- 运行时刻错误:DAMAGE: After normal block
- DAMAGE: after Normal block
- Damage :after normal block:
- DAMAGE:After normal block(#****)
- DAMAGE:after Normal block
- DAMAGE:after Normal block
- DAMAGE:After normal block(#****)
- DAMAGE:After normal block(#****)
- DAMAGE:After normal block(#****)
- DAMAGE:After normal block(#****)
- DAMAGE:After normal block(#****)
- DAMAGE:After normal block(#****)
- DAMAGE:After normal block
- DAMAGE:after Normal block问题
- DAMAGE:after Normal block问题
- 脚本回放问题解决
- java项目中kindeditor的用法2
- why
- wait、notify、notifyAll正确使用方法和解释说明
- 程序员技术练级攻略
- DAMAGE: after Normal block (#) at 0x....错误分析
- 如何写好自己的博客
- 使用AspNetPager控件分页
- 自旋锁spin_lock
- Android的内核简介
- 线性排序之记数排序
- ss7.conf配置项
- Linux下Kill函数用法
- winform实现截图