代码之家  ›  专栏  ›  技术社区  ›  Andrew Garrison

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

  •  1
  • Andrew Garrison  · 技术社区  · 16 年前

    调试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 回复  |  直到 15 年前
        1
  •  1
  •   Dan Auclair    16 年前

    我不确定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

    推荐文章