记一次 .NET 某SaaS版CRM系统 崩溃分析 - 一线码农

💡 原文中文,约5400字,阅读约需13分钟。
📝

内容提要

一名学员在K8s中遇到程序崩溃,分析发现是MemoryCache导致的空引用异常,终结器线程抛出未处理异常。解决方法是升级MemoryCache版本。

🎯

关键要点

  • 一名学员在K8s中遇到程序崩溃,日志未记录,抓取了dump进行分析。
  • 崩溃原因是终结器线程抛出空引用异常,源于MemoryCache。
  • 通过分析OnUnhandledException方法,发现eventArgs为null导致异常。
  • MemoryCache的bug无法直接修改,解决方法是升级MemoryCache版本。
  • 升级后,问题解决,OnUnhandledException和InitDisposableMembers方法已重构。
  • 终结器线程抛出未处理异常导致程序崩溃,涉及C#异常处理机制。
➡️

继续阅读