损坏状态异常--StackOverflowException导致服务挂掉

最近遇到一个问题,服务发版后,过几分钟就会挂掉,按照我以往的经验分析可能是CPU达到100%或内存不足,但是我查看了服务的状态,CPU和内存都还很充裕。此时我晕了…,通过分析dump文件,才知道是因为StackOverflowException导致服务挂掉了。
那问题来了:
1:是什么导致了StackOverflowException。
2:为什么StackOverflowException导致服务挂掉了。

一.问题1:是什么导致了StackOverflowException

看代码,如下图所示:
1:通过pIds的个数控制循环次数
2:循环回调本函数
3:出现StackOverflowException是因为代码漏洞,虽然在循环调用函数,但是pIds并没有增加,因此没有阻止死循环,导致堆栈持续增加,直到堆栈溢出。
在这里插入图片描述

二.问题2:为什么StackOverflowException导致服务挂掉

1:原因是CLR认为本机代码抛出的一些异常是损坏状态异常(corrupt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值