[C/C++]Windows下的Debug版程序出现堆被损坏
2016-08-05 00:00
162 查看
问题:
程序在退出时,出现如下提示:
Windows 已在 *****.exe 中触发一个断点。
其原因可能是堆被损坏,这说明 ****.exe 中或它所加载的任何 DLL 中有 Bug。
原因也可能是用户在 ****.exe 具有焦点时按下了 F12。
VC调试器中断在内存free操作上。
分析:
Debug版的程序在堆操作时(如new/delete),会检查堆的状态,如果不正常,则会报上面的错误。 可能与当前调试器指示的代码没有太大关系,程序在之前某个地方写溢出, 或是操作了已经释放的内存区域。
解决:
可以将_CrtCheckMemory函数插入代码中, 该函数在检测到不正常时会弹出提示框。 逐渐减少范围,找出有问题的代码。
程序在退出时,出现如下提示:
Windows 已在 *****.exe 中触发一个断点。
其原因可能是堆被损坏,这说明 ****.exe 中或它所加载的任何 DLL 中有 Bug。
原因也可能是用户在 ****.exe 具有焦点时按下了 F12。
VC调试器中断在内存free操作上。
分析:
Debug版的程序在堆操作时(如new/delete),会检查堆的状态,如果不正常,则会报上面的错误。 可能与当前调试器指示的代码没有太大关系,程序在之前某个地方写溢出, 或是操作了已经释放的内存区域。
解决:
可以将_CrtCheckMemory函数插入代码中, 该函数在检测到不正常时会弹出提示框。 逐渐减少范围,找出有问题的代码。
相关文章推荐
- Windows下Debug Linux C/C++程序的一种方法
- 程序开发方面(Windows、C++、OO Principle、Debug)的好东西
- 请问各位老大,windows平台下用nmake编译的c程序用甚末debug?
- Windows下使用Eclipse+CDT编写C/C++程序
- windows 高级程序指南InjectLib在Debug模式下执行出错的解决方法
- Windows下更改C/C++控制台程序文本输出颜色
- msn问题 windows live messenger已停止工作,出现了一个问题,导致程序停止正常工作
- 使命!!用C++和win32 API写面向对象的windows程序吧!!!~~
- Windows Via C/C++ Part Ⅰ Chapter4: 进程—第一个Windows程序(4)
- 在Windows下使用Eclipse + CDT+MinGW开发C/C++程序
- [杂项]进入163邮箱时,出现WINDOWS MSXML文件损坏,无法进入?
- java调用c++写的dll 出现由于应该程序配置不正确,应用程序未能启动
- 安装SQL2000时出现:安装程序配置服务器失败。参考服务器错误日志和 C:/WINDOWS/sqlstp.log 了解更多信息。
- 在Windows Server 2003下添加删除程序里面点击添加/删除Windows组件,出现错误提示.
- 程序Debuge版本编译通过,Release版本出现链接错误,解决办法
- Windows 安装IIS出现的问题(无法安装IIS,提示“安装程序无法复制文件IISApp.vbs”)
- 利用Windows自带的Debug程序测试DOS的21#功能调用
- 程序Debuge版本编译通过,Release版本出现链接错误,解决办法
- 利用C++编写Windows服务程序的一般框架
- 为什么VS2005的C# Windows窗体程序在2008中打开出现“所需应用程序未安装”的错误?