IE下的Silverlight应用程序附加到Windbg

时间:2010-10-06 19:15:21

标签: silverlight windbg sos

是否可以将Windbg附加到在Internet Explorer(或任何其他浏览器)下运行的基于Silverlight的应用程序?如果它可能,那么我是否必须将windbg附加到浏览器,这将让我进入Internet Explorer下的迷你CLR?

1 个答案:

答案 0 :(得分:2)

我不是Silverlight的专家,但您可以在浏览器中使用WinDbg和Silverlight应用程序,但有一些限制。此外,由于您停止插件,某些浏览器(如Chrome)会不断抱怨插件没有响应。

您需要做的第一件事是确保加载正确版本的SOS。 Silverlight有自己的版本,这是你必须使用的版本。要加载正确的版本,请使用CLR模块识别SOS的关联版本。命令是

.loadby sos coreclr

请注意,在Silverlight中调用CLR模块coreclr

使用.chain命令验证您是否加载了正确版本的SOS。如果您已经加载了SOS版本,请确保首先清除WinDbg工作区。

然后您可以访问常规SOS命令。我使用!clrstack!dso等命令取得了有限的成功,但!threads!dumpheap等其他命令的工作正常。

如果您只是附加,则!clrstack!dso命令无法正常工作。但是,如果使用!bpmd设置断点,它们将在断点的上下文中工作。这可能是由于代码在Silverlight应用程序中的运行方式,但正如我所说,我不是Silverlight的专家。

这适用于Silverlight 4。

苔丝有post about debugging Silverlight 2 apps in the browser

This long post也值得一看。