我在VS2010中使用的SOS调试扩展,但现在不能在VS2013中使用。我想,我必须为VS2013安装任何更新或一些东西,对吗?
我尝试在立即窗口中喜欢以下内容;
.load sos
无效的表达式术语'。'
.laad C:ювиндовсюйцрософт.Нетюфрамеворкювч.0.30319СОС.л
意外的字符'\'
.oad“T:juvinovsumyromossoft.Neutoframevorikuvch.0.30319SOC.sm”
无法识别的转义序列
.laad C:ювиндовсюйцрософт.Нетюфрамеворкювч.0.30319СОС.л
意外的字符'\'
.laad C:/Vinovs/Microsoft.NEF/Framevoir/vch.0.30319/SOC.sr
无效的表达式术语'。'
自VS2012以来,这个功能变得越来越脆弱,并且它看起来并不像微软打算维护它。部分问题似乎是将设备驱动程序调试集成到VS中,这至少是我从this feedback article获得的提示。
有一个设置需要打开才能让它首先识别.load
命令:工具+选项,调试,常规,勾选“使用托管兼容模式”复选框。我把它关了,因为它有undesirable side-effects。
这仍然对我的机器没有帮助(可能是一个孤立的问题),命令失败并显示“命令错误:异常c0000005发生在xxxxxxxx”。我在VS2012上遇到的一个问题。也许你会有更好的运气,但从长远来看,我认为熟悉Windbg是明智之举。
它有点埋没在新的'docs'文档结构中......
Debugging Managed Code Using the Windows Debugger https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugging-managed-code
“您可以使用Windows调试器(WinDbg,CDB和NTSD)来调试包含托管代码的目标应用程序。要调试托管代码,您必须加载SOS debugging extension (sos.dll)和数据访问组件(mscordacwks.dll)。
“Windows调试器与Visual Studio调试器是分开的。有关Windows调试器和Visual Studio调试器之间区别的信息,请参阅Windows Debugging。”