我有几个关于 .NET 中非托管内存使用的问题。
我的情况是我接手了一个失败的大型项目。我实际上正在寻找一些令人讨厌的黑客攻击,只是为了让它继续运行,这样我就可以开始正确调查了。
我确定我的问题是,当我的模块运行时,它没有正确清理。代码中充满了未处理或未处理的 MemoryStream using
。
所以,我想知道两件事
1)当我的程序停止时,我可以假设所有非托管的东西现在都被 .net 程序忘记了,但仍然活着并且还在踢吗?它最终是如何“死亡”的(除了重新启动)。
2)是否有任何神奇的类说“处理从这个.dll调用的所有东西”?