当我尝试使用windbg时,
.load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.dll
完美地加载SOS扩展名。
但是当我尝试使用建议的模式时
.loadby SOS
OR
.loadby sos.dll
我只能收到错误消息"扩展字符串中的语法错误"。
我试图用Google搜索此错误消息,但没有找到任何有用的信息。
有什么建议吗?
答案 0 :(得分:5)
.loadby
需要另一个参数来定义by
的位置。来自WinDbg帮助:
.loadby DLLName ModuleName
DLLName
指定要加载的调试器扩展DLL。如果使用.load命令,则DLLName应包含完整路径。如果使用.loadby命令,则DLLName应仅包含文件名。ModuleName
指定与DLLName指定的扩展DLL位于同一目录中的模块的模块名称。
所以试试
.loadby sos mscorwks ; *** .NET 2
.loadby sos clr ; *** .NET 4
.loadby sos coreclr; *** Silverlight
请注意,在某些情况下,.loadby
可能无法找到by
模块的完整路径,例如如果转储是在没有完整路径名的情况下创建的(.dump /maR
)。在这种情况下,您必须返回.load
。