有什么方法可以从 .NET 应用程序中遍历堆吗?我有一个 Silverlight 应用程序,希望能够检查堆中是否存在内存泄漏。我认为实现一个显示堆内容的调试弹出窗口会很好。我查看了 .NET API 命名空间,但找不到任何相关内容。
您可以使用 SOS 调试扩展 来检查程序中的托管内存分配。
您还可以尝试SysInternals工具ProcessExplorer。它有一个名为 .NET 的选项卡,您可以在其中找到许多有关 .NET 应用程序的特定数据(内存、垃圾收集器活动等)。每次我怀疑我的代码正在泄漏内存时,我都会使用此工具来检查并了解发生了什么。