1

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

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

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

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

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

4

1 回答 1

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-泄漏.aspx

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

于 2009-12-18T17:03:04.780 回答