我尝试使用WinDBG来调试一个dump文件。当我运行.loadby sos mscorwks.dll命令时,它出现了错误信息:无法找到'mscorwks.dll'模块。
有人见过这种情况吗?
我也遇到了这个问题,原因是调试器在CLR加载之前就进入了应用程序。在我能够执行任何操作之前,我必须让应用程序进一步运行。
在windbg中执行以下操作可能会有所帮助:
sxe ld:mscorlib
g
(... breaks again ...)
.loadby sos mscorwks
'sxe ld:...' 在模块加载时停止。
正如 Sixto 提到的,如果您正在调试 .NET 4 应用程序,则需要将最后一行替换为
.loadby sos clr
.loadby sos mscorwks
。同时确保你的位数正确 - 在调试32位应用程序时尝试在64位Windbg中执行此操作将导致相同的错误。
.load sos