stack around the variable was corrupted
2009-11-28 21:28
615 查看
vs2008下c++数组如果越界会发生“stack around the variable was corrupted”诸如此类的错误,如果有朋友在debug时不慎发生此错误,请检查您代码中的数组,看看在使用时有没有越界。
今天我在写oj评判模块的时候使用多线程评判时遇到一个怪问题,线程数大于12以上就会当掉,思来想去没有毛病,而且我的线程重量不是很大,所以还不至于程序栈区真的溢出,去网上看了看,发现数组越界有很大可能(还有一个原因是使用直接定义的变量太多,导致真的栈溢出,如果您的程序体积比较大,也可适当考虑一下这个原因,不过10M的默认栈区不是很容易达到的,一般还是数组越界问题),仔细查看之下,发现我在以前测试的时候启动的是10个线程,所以在存储线程ID和HANDLE时直接写了HANDLE threadHandles[10]类似的语句,而一旦启动较多的线程如20、70.。。。。便会发生栈区的错误,改成动态数组后,问题解决。
今天我在写oj评判模块的时候使用多线程评判时遇到一个怪问题,线程数大于12以上就会当掉,思来想去没有毛病,而且我的线程重量不是很大,所以还不至于程序栈区真的溢出,去网上看了看,发现数组越界有很大可能(还有一个原因是使用直接定义的变量太多,导致真的栈溢出,如果您的程序体积比较大,也可适当考虑一下这个原因,不过10M的默认栈区不是很容易达到的,一般还是数组越界问题),仔细查看之下,发现我在以前测试的时候启动的是10个线程,所以在存储线程ID和HANDLE时直接写了HANDLE threadHandles[10]类似的语句,而一旦启动较多的线程如20、70.。。。。便会发生栈区的错误,改成动态数组后,问题解决。
相关文章推荐
- 关于Stack around the variable "" was corrupted问题
- Run-Time Check Failure #2 - Stack around the variable ‘ ’ was corrupted.
- Run-Time Check Failure #2 - Stack around the variable 'var' was corrupted
- 记一次函数崩溃的现象分析,stack around the variable…was corrupted
- VC++出现错误: Stack around the variable was corrupted 的解决方案
- stack around the variable * was corrupted
- Run-Time Check Failure #2 - Stack around the variable 'var' was corrupted
- VS2008中Run-Time Check Failure #2 - Stack around the variable 'xxx' was corrupted 错误解决方法
- vs2005 c++ Stack around the variable was corrupted
- Stack around the variable 'data' was corrupted.
- Stack around the variable was corrupted 解决方案
- stack around the variable "xxx"was corrupted.
- Run-Time Check Failure #2 - Stack around the variable 'var' was corrupted
- Run-Time Check Failure #2 - Stack around the variable 'chCommand' was corrupted.
- 解决:stack around the variable was corrupted
- Opencv中调用FileStorage出现错误“Stack around the variable '*' was corrupted.”
- Run-Time Check Failure #2 - Stack around the variable 'xxx' was corrupted(待解决)
- Stack around the variable was corrupted 解决方案 ---增大栈空间
- 错误:stack around the variable * was corrupted
- 解决MFC运行时错误:“Stack around the variable 'dlg' was corrupted. ”