[C/C++]Windows下的Debug版程序出现堆被损坏
2016-08-05 09:22
148 查看
问题:
程序在退出时,出现如下提示:
Windows 已在 *****.exe 中触发一个断点。
其原因可能是堆被损坏,这说明 ****.exe 中或它所加载的任何 DLL 中有 Bug。
原因也可能是用户在 ****.exe 具有焦点时按下了 F12。
VC调试器中断在内存free操作上。
分析:
Debug版的程序在堆操作时(如new/delete),会检查堆的状态,如果不正常,则会报上面的错误。 可能与当前调试器指示的代码没有太大关系,程序在之前某个地方写溢出, 或是操作了已经释放的内存区域。
解决:
可以将_CrtCheckMemory函数插入代码中, 该函数在检测到不正常时会弹出提示框。 逐渐减少范围,找出有问题的代码。
相关文章推荐
- [C/C++]Windows下的Debug版程序出现堆被损坏
- Windows下Debug Linux C/C++程序的一种方法
- 程序开发方面(Windows、C++、OO Principle、Debug)的好东西
- windows程序开发中c++和c#的对照
- MPI编译C++程序出现#error "SEEK_SET is #defined but must not be for the C++ binding of MPI" 的解决方法
- C++运行程序出现的一些问题
- linux下编译C++程序出现错误 “*** stack smashing detected ***, eclipse解决方法
- Windows下使用Eclipse+CDT编写C/C++程序
- C++Builder debug 程序的时候 structure required
- C# WinForm 添加Windows Media Player 控件调试出现未能加载文件或程序集Interop.WMPLib,该怎么解决
- linux下使用jni实现c++调用java程序(4)DestroyJavaVM出现错误
- C/C++出现Debug Assertion Failed!错误
- Windows下用yacc生成计算器c++程序
- 出现“无法通过windows installer服务安装此安装程序包。您必须安装带有更新版本Windows Installer服务的Windows Service Pack”提示如何解决?
- 安装Visual Studio 语言包时出现windows 程序兼容模式已打开.请将其关闭
- Windows下使用Sublime Text 3调试/运行 C/C++ 程序
- windows程序开发中c++和c#的对照(2)
- Windows环境C/C++ 获取当前执行程序路径的两个函数
- Windows环境下android平台native调试,从java debug 到 C++ (NDK DEBUG)
- Windows系统 安装Python扩展包时出现“Misrosoft Visual C++ 9.0 is required / Unable to find vcvarsall.bat”的解决办法