vs2010 stack overflow 说是堆栈溢出了,这是怎么回事

 我来答
ay...9@163.com
2016-10-29 · 超过39用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:62.5万
展开全部
在编有递归代码的VS、VC程序中可能会引起栈溢出错误,其实代码本身并没有出错,只是系统分配的栈内存不满足程序需要。
错误提示如下:
First-chance exception at 0x00AFE289 in 边缘检测方法.exe: 0xC00000FD: Stack overflow (parameters: 0x00000001, 0x00F92FEC).
If there is a handler for this exception, the program may be safely continued.
工具/原料

VS2013
方法/步骤

打开出现栈溢出错误的工程文件,单击下图中的调试运行按钮

运行后会弹出如下的栈溢出错误窗口,单击“break",即中断执行

中断执行后会跳转到出现错误的代码段,即引起栈溢出的地方。

此时打开栈的调用窗口可以发现代码调用的栈太大了,超过了系统默认给定的容量。所示下图中出现了读取内存失败错误。

打开此工程的属性页面,找到”Link“——”System“,如下图所示

在栈的调用尺寸中填写一个较大的值,比如1000000,如果还不够就再加大点,应用并退出设置。

7
再次编译运行代码,栈溢出错误即可以解决了。我的输出结果如下所示。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式