关闭

overflow与VC stack size参数/stack:

标签: exception测试
3915人阅读 评论(0) 收藏 举报
分类:


用VC6编译的一个测试程序,一行代码是分配一个静态局部变量
const int N = 20000000;
char testarr[N] = {0};

但程序运行出错,直接运行提示unknown software exception(0xc00000fd) -- 其实是stack
overflow异常;调试提示Stack Overflow,出错位置定位在chkstk.asm内。
原因是局部变量b太大,超过了缺省1M的stack size。
解决办法有两个:
1)在link option中增加/stack:参数以扩大stack size,eg. /stack:0xa00000
2)改用new从heap上动态申请内存。

2
0
查看评论

Delphi 2010 报 stack overflow的错误解决方法

近期在用Delphi 2010调试代码时,莫名其妙,总是报“stack overflow”的错误, 报错时光标停留在begin的位置,也就是说还没执行到函数体。 主函数中调用了两个子函数,注释掉其中的一个子函数,另一个单独运行时正常,每一个子函数中使用到了静态结构数组,经参考网上的帖子,在点击...
  • lotusyangjun
  • lotusyangjun
  • 2015-07-06 16:08
  • 1300

VC 解决 函数调用报错:未经处理的异常: 0xC00000FD: Stack overflow (参数: 0x00000000, 0x06442000)。

#define LOGGER_MSG_BUF_SIZE 102400 #define LOG(format, ...){\ char msg[LOGGER_MSG_BUF_SIZE]={0};\ time_t t;\ struct tm *tm;\ t = time(NULL);\ tm ...
  • hknaruto
  • hknaruto
  • 2016-03-28 11:34
  • 3982

VS或VC编译正常,但运行时出现Stack overflow

以下内容为网络资源结合自身实践的总结,在此首先感谢提供资源的各位网友。 大家都知道,Windows程序的内存机制大概是这样的,全局变量(局部的静态变量本质也属于此范围)存储于堆内存,该段内存较大,一般不会溢出; 函数地址、函数参数、局部变量等信息存储于栈内存,VC6中栈内存默认大小为1M,对于当前日...
  • lusirking
  • lusirking
  • 2016-06-15 16:23
  • 768

0xC00000FD: Stack overflow (parameters: 0x00000000, 0x003E2000).错误

这个错误是“栈溢出”,每个线程的栈空间默认是1MB,局部变量(非静态)都在栈中分配,当使用的局部变量所需空间过多时,就会溢出。 你检查一下程序,看看哪些函数中定义了大数组,把大数组改成用new分配,函数返回前delete。例如double X[100][100];这个数组所占空间大约是80KB,最...
  • kl1411
  • kl1411
  • 2017-06-01 22:49
  • 898

VC定义超大数组时,stack OverFlow的解决方法

现象: 在一个类的头文件中定义了一个数组 编译后出现: stack overflow,堆栈溢出 (下文中,stack=栈=堆栈) 这次在写一个程序的时候,定义了一个比较大的int数组,发现大概元素个数超过25W...
  • qq_17242957
  • qq_17242957
  • 2016-03-22 21:02
  • 1464

Stack overflow. 更改堆栈空间解决栈溢出问题

栈溢出问题 OpenCV
  • duan19920101
  • duan19920101
  • 2016-01-27 21:34
  • 918

vc中出现stack overflow错误(VS设置默认栈大小)

我在代码中定义了一个3维数组,如果迭代次数较多,运行时会产生stack overflow错误。在CSDN论坛看到一个帖子: 是这样的,我同事原来也遇到过类似的问题,后来把project设置里的堆栈加大就可以了,默认是1M,你可以加大到10M试试.     project-&g...
  • whatday
  • whatday
  • 2014-07-23 17:08
  • 7379

Stack overflow at line  错误原因

场景:点击页面上一个超链接,弹出模态窗口。
  • yanan_seachange
  • yanan_seachange
  • 2013-11-29 16:48
  • 974

Stack overflow at line:0网页提示终极解决大法

Stack overflow at line:0网页提示终极解决大法
  • u010509401
  • u010509401
  • 2014-09-18 10:46
  • 1256

VS2010运行错误:0x010e86c7 处有未经处理的异常: 0xC00000FD: Stack overflow

解决办法:将“项目属性、链接器、系统、堆栈保留大小”设大一点比如16000000 原因:当程序的静态数据量比较大时,可能会出现栈溢出问题,程序还没有运行就会直接报错,这是由于系统分配给程序的栈空间太小。 “堆栈保留大小”是指程序堆和栈的最大增长是多少,比如65536表示堆栈最大可增长到64K。0...
  • yangliuqing19
  • yangliuqing19
  • 2016-06-02 17:33
  • 3268
    个人资料
    • 访问:3011747次
    • 积分:35197
    • 等级:
    • 排名:第143名
    • 原创:243篇
    • 转载:517篇
    • 译文:22篇
    • 评论:119条
    最新评论