如何解决VS代码调试时出现 Stack overflow

  • 原创
  • |
  • 浏览:7941
  • |
  • 更新:
  • |
  • 标签:软件开发 

在编有递归代码的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

方法/步骤

  1. 1

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

    如何解决VS代码调试时出现 Stack overflow
  2. 2

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

    如何解决VS代码调试时出现 Stack overflow
    如何解决VS代码调试时出现 Stack overflow
  3. 3

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

    如何解决VS代码调试时出现 Stack overflow
  4. 4

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

    如何解决VS代码调试时出现 Stack overflow
  5. 5

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

    如何解决VS代码调试时出现 Stack overflow
  6. 5
    本页面非法爬取自百度经验
  7. 6

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

    如何解决VS代码调试时出现 Stack overflow
  8. 7

    再次编译运行代码,栈溢出错误即可以解决了。我的输出结果如下所示。

    如何解决VS代码调试时出现 Stack overflow
    END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部
相关标签软件开发