我正在完成一个项目,但似乎有一些东西使用了太多的内存。我认为有些东西没有被处理掉。由于我的程序有很多代码,我不想通过所有内容。必须有一种方法可以看到在运行时使用了多少内存的变量?
答案 0 :(得分:6)
您可以使用带有SOS扩展名的WinDbg等调试器来查看托管内存。
附加到您的进程,使用.loadby sos clr
命令加载SOS并使用!dumpheap -stat
命令检查堆。这将告诉您堆上对象的数量和类型。从那里你可以弄清楚其中任何一个是否占用了比你预期更多的内存。
此question也有相关信息。