为什么在VS 2013中无法加载SOS.dll

12

我曾在VS2010中使用的SOS调试扩展,在VS2013中无法使用。

我猜,我需要为VS2013安装更新或某些内容,是吗?

我尝试在即时窗口中执行以下命令:

.load sos

出现“Invalid expression term '.'”错误。

.load C:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dll

出现“Unexpected character '\'"错误。

.load "C:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dll"

出现“Unrecognized escape sequence”错误。

.load C:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dll

出现“Unexpected character '\'"错误。

.load C:/Windows/Microsoft.NET/Framework/v4.0.30319/SOS.dll

出现“Invalid expression term '.'”错误。


看看这个是否有帮助.. http://stackoverflow.com/questions/16966385/unable-to-load-sos-dll-extension-in-visual-studion-2012 - Digital_Reality
是的,我看了,但没有运气。 - bashkan
2个回答

13

自从VS2012以来,这个功能变得越来越脆弱,而且微软似乎不打算维护它。问题的一部分似乎是将设备驱动程序调试集成到VS中,至少我从这篇反馈文章中得到了这个暗示。

首先需要打开一个设置才能让它识别.load命令:工具 + 选项,调试,常规,勾选“使用托管兼容模式”复选框。我曾经将其关闭,因为它产生了不良反效果

在我的机器上这仍然无济于事(可能是孤立的问题),该命令失败并显示“命令期间出错:异常c0000005在xxxxxx处发生”。这也是我在VS2012上遇到的问题。也许你会更幸运,但从长远来看,熟悉Windbg可能更为明智。


0

在新的“文档”文档结构中,它有点被埋没了...

使用Windows调试器调试托管代码
https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/debugging-managed-code


“您可以使用Windows调试器(WinDbg、CDB和NTSD)来调试包含托管代码的目标应用程序。要调试托管代码,必须加载SOS调试扩展(sos.dll)和数据访问组件(mscordacwks.dll)。

“Windows调试器与Visual Studio调试器是分开的。有关Windows调试器和Visual Studio调试器之间区别的信息,请参见Windows调试。”


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接