其原因可能是堆被损坏 这说明exe中或它所加载的任何 DLL 中有 Bug

原创 2015年07月09日 10:21:51

可参考的博客:http://www.cnblogs.com/ShaneZhang/archive/2013/12/18/3480754.html

参考讨论:http://bbs.csdn.net/topics/40214261


原因:

1)因为new的地址在a处,而delete的地址在b处;

2)地址不存在或者未分配,也会导致这种错误;

3)数组太小,给了一个很长的值,然后delete也会出现这种情况。

解决方案:检查new的地址,跟踪并发现地址的变化,即可解决问题。

案例:

1,产生一个模态对话框,但并未用new函数,而在对话框的类中自行delete this,而导致出错。

2, char *sql=new char[100];sql="select * from table";delete []sql;出错,经过跟踪,发现sql的地址出现了错误,原来sql=使得sql指向的地址变化了,将sql=变成sprintf()赋值,则可以解决问题。

版权声明:本文为博主原创文章,未经博主允许不得转载。

VC中“其原因可能是堆被损坏,这也说明*.exe中或它所加载的任何DLL中有bug”的分析

解决方案:打开项目属性-->配置属性-->C/C++-->代码生成-->运行时库,改成多线程调试DLL 编译运行,然后可能会出项如下错误: fatal error C1189: #error : ...
  • u012564690
  • u012564690
  • 2014年05月18日 22:47
  • 4000

Windows 已在 test.exe 中触发一个断点。 其原因可能是堆被损坏

问题描述:   用vs调试的时候,有时程序莫名其妙崩溃,但按F5后能还能继续运行。 解决: 这类问题,大部分原因是因为内存操作错误造成的,还有可能是实用的库和当前程序运行时不一致。如果之...
  • Revival25
  • Revival25
  • 2015年04月22日 16:54
  • 3587

(完整版)原因可能是堆被损坏,这也说明 中或它所加载的任何DLL 中有bug】的解决

(完整版)原因可能是堆被损坏,这也说明 中或它所加载的任何DLL 中有bug】的解决... 最近在开发项目的时候被这个错误郁闷很久,本来以为是dll加载出错或者是分配...
  • haiross
  • haiross
  • 2015年11月13日 09:52
  • 3904

原因可能是堆被损坏,这也说明 中或它所加载的任何DLL 中有bug】的解决...

(完整版)原因可能是堆被损坏,这也说明 中或它所加载的任何DLL 中有bug】的解决...   最近在开发项目的时候被这个错误郁闷很久,本来以为是dll加载出错或者是分配内存出错。找了很...
  • haiross
  • haiross
  • 2015年06月03日 16:21
  • 567

(完整版)原因可能是堆被损坏,这也说明 中或它所加载的任何DLL 中有bug】的解决

(完整版)原因可能是堆被损坏,这也说明 中或它所加载的任何DLL 中有bug】的解决... 最近在开发项目的时候被这个错误郁闷很久,本来以为是dll加载出错或者是分配...
  • haiross
  • haiross
  • 2015年11月13日 09:52
  • 3904

”其原因可能是堆被损坏,这也说明exe中或它所加载的任何DLL 中有bug“的解决办法

最近在开发项目的时候被这个错误郁闷很久,本来以为是dll加载出错或者是分配内存出错。找了很久都没找出。在网上找了些方法,终于在下面的方法中解决了问题。 1、 这是运行库文件时的错误。 ...
  • hyz5525
  • hyz5525
  • 2016年02月29日 09:03
  • 134

调试报错:其原因可能是堆被损坏,这说明**.exe中或它加载的任何DLL中有Bug

[转]写了个程序,在DLL中用malloc分配了一块内存,但是在exe程序中释放,结果程序crash,原因就是: 其原因可能是堆被损坏,这也说明 TestMySticker.exe 中或它所加载的任...
  • xw20084898
  • xw20084898
  • 2014年05月25日 21:59
  • 1183

“其原因可能是堆被损坏,这说明 ***.exe 中或它所加载的任何 DLL 中有 bug”

DLL和exe里的malloc和free不能混用 一个模块一个堆,一个线程一个栈。 dll里malloc的内存,在exe里free会出错。 CRT(C运行时期库)不是使用进程缺省的堆...
  • Arcsinsin
  • Arcsinsin
  • 2013年08月01日 19:57
  • 1442

VC中“其原因可能是堆被损坏,这也说明*.exe中或它所加载的任何DLL中有bug”的分析

解决方案:打开项目属性-->配置属性-->C/C++-->代码生成-->运行时库,改成多线程调试DLL 编译运行,然后可能会出项如下错误: fatal error C1189: #error : ...
  • u012564690
  • u012564690
  • 2014年05月18日 22:47
  • 4000

“原因可能是堆被损坏,这也说明*.exe中或它所加载的任何DLL 中有bug”的解决方案

1、 这是运行库文件时的错误。 解决方案:打开项目属性-->配置属性-->C/C++-->代码生成-->运行时库,改成多线程调试DLL 编译运行,然后可能会出项如下错误: fatal e...
  • jiabingxi
  • jiabingxi
  • 2013年12月14日 10:21
  • 702
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:其原因可能是堆被损坏 这说明exe中或它所加载的任何 DLL 中有 Bug
举报原因:
原因补充:

(最多只允许输入30个字)