记一次栈溢出异常问题的排查

刚修改的服务,推到开发环境之后,总是时不时的崩溃,但是不知道为什么。尝试找到他的最后一次调用,也没有复现。

没有办法,只能抓dump了。

开启崩溃自动dump,网络上很多,不赘述了。

拿到dump之后,首先看看是什么类型的异常

如图所示,是个栈溢出的异常。

打印一下堆栈,发现密密麻麻的全是这个代码。

我们找到这个对象,发现里边有个隐式转换的代码有点问题。

隐式转换的应该是将传入的内容转为转出的格式,结果在返回的时候,返回了传入的类型,导致,他想要转成目标类型的时候,又触发了隐式转换,然后就无限递归了。

最后排查项目中所有的类似代码,发现只有这一处,没有windbg基本上很难排查到具体原因。 windbg 牛B

posted @   连程  阅读(466)  评论(3编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
点击右上角即可分享
微信分享提示