记一次 .NET某新能源MES 非托管泄露
💡
原文中文,约8000字,阅读约需19分钟。
📝
内容提要
本文介绍了作者使用WinDbg分析程序内存泄漏的过程,发现是由于使用CSharpCodeProvider动态生成程序集导致的。建议在使用此方法时,要搞清楚原理并合理创建和释放程序集。
🎯
关键要点
- 作者的朋友遇到内存泄露问题,寻求帮助。
- 使用WinDbg分析内存泄露,发现可能是托管内存泄露。
- 通过命令观察托管堆内存,发现内存使用情况异常。
- 使用!eeheap -loader命令发现程序集泄露,动态生成的程序集占用大量内存。
- 分析模块内容,发现代码中使用CSharpCodeProvider动态生成程序集。
- 建议合理创建和释放程序集,以避免内存泄露。
➡️