有没有办法找出在.NET中引用我的对象的内容?

时间:2009-04-14 21:45:06

标签: .net garbage-collection

基本上,我有一个我认为应该被垃圾收集的对象,但事实并非如此。 我很确定所有对它的引用都不再是我在代码中看到的,但由于某种原因,它并没有被破坏。

有没有办法找出什么东西拿着我的对象人质? 在Visual Studio 2005中似乎没有办法做到这一点。 或许WinDbg?

2 个答案:

答案 0 :(得分:3)

是的,您可以使用WinDbg + SOS来跟踪托管堆。 This link应该让你开始。

注意 - 您不必使用VADump(步骤1到3)来获取转储文件,Visual Studio调试器内置了附加进程的此功能。

答案 1 :(得分:0)

CLR Profiler for .net 2.0

如果您不是2.0版,请检查其他版本

此外,这篇文章不久前帮助了我一个项目,检查出来

http://msdn.microsoft.com/en-us/library/ms404247.aspx