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