解决:Unhandled exception in XX.exe: 0xc00000FD; Stack Overflow

今天遇见这个问题,就简单记一下。参考了不少文档、博客,终于解决了问题。其实说起来问题也比较简单,就是在运行时在出错的地方卡住,并没有提示任何错误。在Debug时错误信息为:Unhandled exception in XX.exe: 0xc00000FD; Stack Overflow,栈溢出!!
造成的原因有一下几个:
1.静态数组过大,其他论坛上有人图片分辨率过高导致了,栈上申请空间太大,溢出。这种情况下,使用动态分配内存或者减少数组的内存就解决了。我认为动态分配才是王道,new一块内存,在函数结束时要delete去释放内存,指针的话用free。
2.两外两种的原因都出现在循环结构或者递归调用中。一种是死循环,就是你的判断条件设置的有缺陷,或者判断的位置不对导致的。我这次的是属于这种。算是比较低级了,无限循环调用递归。。。
3.另一种是真的在循环中确实产生的变量太多,一般的小工程的代码,不大容易出现这种错误。就是排除了代码上的问题,既然不能通过优化代码达到,那就将编译器的栈默认内存设置大一点。VS2017是在project——>properties——>Linker——>system,stack reserve size 设置为ox100000。
其实,如果你按照第三中设置后没效果的话,那就要优化代码了,大部分犯的错误就是无线循环了,当然如果你在跑deep learning的框架模型,就很可能第一种或者第三种了。

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值