Windows已在“xxx.exe”中触发了一个断点。
来源:互联网 发布:医学图像处理算法 编辑:程序博客网 时间:2024/06/06 03:45
template<class Type>Type ** Get2Array(int n, int m){Type **s = (Type**)malloc(sizeof(Type)*n);if (NULL == s) exit(1);for (int i = 0; i<n; ++i){s[i] = (Type*)malloc(sizeof(Type)*m);memset(s[i], 0, sizeof(Type)*m);}return s;}!main.exe 已触发了一个断点。
出现这么一个错误,百思不得琪姐.
从网上查到如下信息:
问题:Windows已在“xxx.exe”中触发了一个断点。
其原因可能是堆被破坏,这说明xxx.exe中或它所加载的任何DLL中有Bug。
原因也可能是用户在xxx.exe具有焦点时按下F12.
输出窗口可能提供了更多诊断信息。
原因:
1. 内存越界,比如“数组越界”、“释放已经释放掉的内存”、“共享内存引发的问题”、“释放野指针的问题”等。
2. 用到的第三方库版本不一致,比如“VS2010用到VS2013生成的DLL”、“Debug模式下用了Release模式下生成的库”、“代码生成中的MDD和MD”,可能还有其他第三方库的版本不一致问题。
我意识到可能是内存分配释放问题,然后一步步分析
int main(){char X[] = { "#ABCBDAB" };char Y[] = { "#BDCABA"};int xsize = strlen(X) - 1;int ysize = strlen(Y) - 1;int **c = Get2Array<int>(xsize+1, ysize+1);char **b = Get2Array<char>(xsize+1, ysize+1);Print2Array<char>(b, xsize+1, ysize+1);Print2Array<int>(c, xsize+1, ysize+1);Del_2Array<int>(c, xsize+1); //释放不会出错Del_2Array<char>(b, xsize); //释放会出错,就是很异常system("pause");return 0;}
为什么 int 可以 char 就出问题呢???!一下子就想到 sizeof(int) == sizeof(int*) sizeof(char) == sizeof(char*)template<class Type>Type ** Get2Array(int n, int m){Type **s = (Type**)malloc(sizeof(Type*)*n); //就是这东西^0^// Type **s = (Type**)malloc(sizeof(Type)*n);
if (NULL == s) exit(1);for (int i = 0; i<n; ++i){s[i] = (Type*)malloc(sizeof(Type)*m);memset(s[i], 0, sizeof(Type)*m);}return s;}
哈哈,
1 0
- Windows 已在xxx.exe中触发了一个断点
- Windows已在“xxx.exe”中触发了一个断点。
- windows已在 XXX.exe 中触发断点
- Windows 已在 DImageProcess.exe 中触发一个断点。
- vs2013 && win7 x64下出现的诡异错误:已在xxx.exe中触发一个断点
- Windows 已在 XXX.exe 中触发一个断点。 其原因可能是堆被损坏,这说明 FiberSecureTerminal.exe 中或它所加载的任何 DLL 中有
- .exe 已触发了一个断点。
- C++和C混合编程——windows已在XX.exe中触发一个断点
- Windows 已在棒材计数分钢系统.exe 中触发一个断点
- Windows 已在 test.exe 中触发一个断点。 其原因可能是堆被损坏
- windows已在xxx.exe中触发一个断点,其原因可能是堆被损坏,这说明xx.exe中或它所加载的任何DLL中有bug。
- 动态链接库中分配内存引起的问题-- windows已在XX.exe中触发一个断点
- 动态链接库中分配内存引起的问题-- windows已在XX.exe中触发一个断点
- 动态链接库中分配内存引起的问题-- windows已在XX.exe中触发一个断点
- 动态链接库中分配内存引起的问题-- windows已在XX.exe中触发一个断点
- 关于解决在使用opencv时出现*.exe 已触发了一个断点的问题
- windows在**.exe中触发了一个断点,其原因可能是堆被损坏,这说明。。。dll中有bug
- windows在**.exe中触发了一个断点,其原因可能是堆被损坏,这说明。。。dll中有bug
- POJ 3504 Obfuscation 笔记
- andrew ng的machine learning第一次作业
- TCP/IP、Http、Socket的区别
- Linux入门:vim配置
- 机器学习实践系列之3 - 人脸对齐(上)
- Windows已在“xxx.exe”中触发了一个断点。
- Java温习——JavaSE学习方法
- 1.1抽象过程
- leetcode~Binary Tree Level Order Traversal
- ROS学习 cpp参数服务器
- 约瑟夫环问题
- Android NDK JNI 简单例子2
- matlab的多项式基础
- c_str()