.loadby不起作用,但.load效果很好

Tig*_*ing 0 windbg sos

当我尝试使用windbg时,

.load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.dll 
Run Code Online (Sandbox Code Playgroud)

完美地加载SOS扩展.

但是当我尝试使用建议的模式时

.loadby SOS
Run Code Online (Sandbox Code Playgroud)

要么

.loadby sos.dll
Run Code Online (Sandbox Code Playgroud)

我只能收到一条错误消息"扩展字符串中的语法错误".

我试图用Google搜索此错误消息,但没有找到任何有用的信息.

有什么建议 ?

Tho*_*ler 5

.loadby需要另一个参数来定义它在哪里by.从WinDbg帮助:

.loadby DLLName ModuleName
Run Code Online (Sandbox Code Playgroud)

DLLName
指定要加载的调试器扩展DLL.如果使用.load命令,则DLLName应包含完整路径.如果使用.loadby命令,则DLLName应仅包含文件名.

ModuleName
指定与DLLName指定的扩展DLL位于同一目录中的模块的模块名称.

所以试试吧

.loadby sos mscorwks ; *** .NET 2
.loadby sos clr ; *** .NET 4
.loadby sos coreclr; *** Silverlight
Run Code Online (Sandbox Code Playgroud)

请注意,在某些情况下,可能无法.loadby找到by模块的完整路径,例如,如果转储是在没有完整路径名的情况下创建的(.dump /maR).在那种情况下你必须回去.load.