stack around variable ## was corrupted问题
来源:互联网 发布:重庆数据分析的项目 编辑:程序博客网 时间:2024/06/06 08:25
不知道大家写程序的时候会不会发现有时候程序运行时会崩溃,然后就会出现一句这样的话:
Run-time check failure #2-stack around variable ## was corrupted(我使用的编程软件是vs2012)
通常这种情况大多数是因为我们的代码有逻辑错误,最普遍的问题就是产生了越界问题。
比如下面代码的例子:
int main()
{
char str[6]={};
char* str1="abcdefg";
strcpy(str,str1);//error,产生了越界
strcat(str,str1);//error,产生了越界
}
{
char str[6]={};
char* str1="abcdefg";
strcpy(str,str1);//error,产生了越界
strcat(str,str1);//error,产生了越界
}
在这个代码中,我们用到了头文件string.h中两个函数,这个函数确实也是存在越界的问题,在上面的代码中我str不够大,不能完全接受str1里的东西,所以在运行时,vs会报一个这样的错误
这个就是典型的越界问题,因为这两个函数确实是不太安全,大家可以用它的安全版本或者自己实现,如果嫌麻烦的话,一定要看清楚他们的要求,注意不要越界了。
这是能发现的明显的错误情况,但是我写2048这个小游戏的时候,在最后玩到格子里都放满了数据的时候,也会出现这个问题,但是我为了改这个bug挣扎了很久,一直没有发现问题在哪,我定义了两个数组,每个数组的访问都是检查检查再检查,特别是在i+1,i-1,j+1,j-1这些容易发生边界错误的地方,都没有检查出来问题。后来我上网看了很多大神的博客,发现他们在写一些程序的时候也会遇到这样的问题,特别是那种变量较多,消耗栈的空间较大的程序中更容易遇到这样的问题。如果你检查实在是觉得自己的程序没有问题可以试试下面的方法:
这是能发现的明显的错误情况,但是我写2048这个小游戏的时候,在最后玩到格子里都放满了数据的时候,也会出现这个问题,但是我为了改这个bug挣扎了很久,一直没有发现问题在哪,我定义了两个数组,每个数组的访问都是检查检查再检查,特别是在i+1,i-1,j+1,j-1这些容易发生边界错误的地方,都没有检查出来问题。后来我上网看了很多大神的博客,发现他们在写一些程序的时候也会遇到这样的问题,特别是那种变量较多,消耗栈的空间较大的程序中更容易遇到这样的问题。如果你检查实在是觉得自己的程序没有问题可以试试下面的方法:
1、按alt+f7进入属性页
2、在c/c++下面点击代码生成,就会出现上面的页面
2、在c/c++下面点击代码生成,就会出现上面的页面
3、在基本运行时检查点击默认值(因为关于栈的检查可能就是由于两者(/RTC1,等同于 /RTCsu) (/RTC1)这个限制栈的大小)
我的问题就是通过这个方法得到了解决。
阅读全文
0 0
- stack around the variable “” was corrupted问题
- stack around variable ## was corrupted问题
- stack around variable was corrupted
- 关于stack around the variable “” was corrupted问题
- 关于stack around the variable “” was corrupted问题
- 关于stack around the variable “” was corrupted问题
- 关于stack around the variable “” was corrupted问题
- 关于stack around the variable “” was corrupted问题
- 关于stack around the variable “” was corrupted问题
- 关于stack around the variable “” was corrupted问题
- 关于Stack around the variable "" was corrupted问题
- 关于stack around the variable “” was corrupted问题
- 关于stack around the variable “” was corrupted问题
- vs2005关于stack around the variable “” was corrupted问题
- 关于stack around variable was corrupted的问题
- stack around the variable "xxx"was corrupted.
- 浅析stack around the variable was corrupted
- Stack around the variable 'cmdInfo' was corrupted
- IP地址与int或者long类型互转(Java、PHP)
- Redis和请求队列解决高并发
- servlet02_servlet的三个hashMap
- Sql Server 捕获异常信息
- Java 编程:如何提高性能?(简单总结篇)
- stack around variable ## was corrupted问题
- Tablayout左右滑动和Banner无限轮播的配合使用
- java ArryList 转 String (借助commons-lang.jar)
- docker中安装Nexus3
- 欢迎使用CSDN-markdown编辑器
- h264源码分析之x264_encoder_encode
- NoSQL数据库之MongoDB(一)
- java项目打包成jar编写启动文件在windows和Linux下运行
- Cookie详解