2009-09-14 132 views

回答

12

不要添加.dll文件,尽量只.loadby sos mscorwks

+2

这仍然给出错误消息无法找到我的模块'mscorwks.dll' – MaxJ

+0

这仍然给出错误消息无法找到我的模块'mscorwks.dll' – burzhuy

2

如果您有.NET框架的目录(如C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727)在你的路径,你可以只是使用

.load sos 
18

我也遇到过这个问题,原来是因为调试器在加载CLR之前打入应用程序。在我可以做任何事情之前,我不得不让应用程序进一步运行。

这样做在WinDbg中可能会有所帮助:

sxe ld:mscorlib 
g 
(... breaks again ...) 
.loadby sos mscorwks 

的 'SXE LD:..' 停止在模块加载。

由于西斯托提到,如果你正在调试的dotnet 4级的应用程序,你需要用

.loadby sos clr 
+0

是的,这是我的问题。它打破得太早。我不必自己加载mscorlib,我只是让应用程序进一步(直到它碰到'Console.ReadLine()',在'.loadby sos mscorwks'之前写'g'。 –

107

如果您正在调试一个.NET 4.0应用程序以替换最后一行,则需要使用以下而不是mscorwks

.loadby sos clr

可用于.NET 4.0的命令Here is a good overview。请享用!!

+11

+1 - 不是回答这个问题,但它使我的一天。 –

3

还要确保你有正确的位数 - 试图在64位windbg中做这个,而调试32位应用程序会给你同样的错误。