我可以在调试时看到引用对象的内容吗?

时间:2009-12-18 15:28:09

标签: visual-studio-2008 silverlight debugging sos

在调试Silverlight应用程序时,是否可以查看对象的所有当前引用?

我知道WPF开发人员可以使用SOS.dll,但在调试Silverlight应用程序时无法在VS2008 IDE中加载。我试过了,但是load命令给了我错误:

  

.load C:\ Program Files \ Microsoft Silverlight \ 3.0.40818.0 \ sos.dll

     

仅管理调试时SOS不可用。要加载SOS,请在项目属性中启用非托管调试。

不幸的是,没有办法通过VS2008 IDE为Silverlight应用程序启用非托管调试。我也尝试过“附加到”过程,但仍然没有骰子。

1 个答案:

答案 0 :(得分:1)

我不确定它是否可以来自VS2008,但如果您下载并运行WinDbg作为Windows调试工具的一部分,您可以附加到托管Silverlight插件的进程。

连接后,您可以运行以下命令来使用SOS:

.loadby sos coreclr

有一些示例用于跟踪托管内存泄漏等:

http://blog.ningzhang.org/2008/12/silverlight-debugging-with-windbg-and.html

http://blogs.msdn.com/delay/archive/2009/03/11/where-s-your-leak-at-using-windbg-sos-and-gcroot-to-diagnose-a-net-memory-leak.aspx

http://weblogs.asp.net/pglavich/archive/2008/12/03/debugging-silverlight-apps-using-windbg.aspx