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