无法加载SOS WinDbg中 [英] Unable to load SOS in WinDbg

查看:775
本文介绍了无法加载SOS WinDbg中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

背景:我是新来的WinDbg,并试图让它运行的第一次。我要检查内存转储我从一个运行ASP.NET 4个网站托管在IIS 7和Windows Server 2008(86)上,并下载到我的本地计算机了。

Background: I'm new to WinDbg and trying to get it running for the first time. I want to examine a memory dump I took from a running ASP.NET 4 site hosted in IIS 7 on Windows Server 2008 (x86) and downloaded to my local machine.

我安装了调试工具并推出了的WinDbg首次,打开崩溃转储。我去了文件|符号文件路径并设置路径为* SRV * C:\符号* HTTP://msdl.microsoft.com/downloads/symbols*,等待所有加载符号

I installed the debugging tools and launched WinDbg for the first time, opening the crash dump. I went to File | Symbol File Path and set the path to "*srv*c:\symbols*http://msdl.microsoft.com/downloads/symbols*" and waited for all the symbols to load.

当试图加载SOS,我遇到了问题。首先,我想下面的命令......

When trying to load SOS, I ran into problems. First, I tried the following command...

.loadby sos mscorwks

...并收到响应无法找到模块mscorwks'。

...and received the response "Unable to find module 'mscorwks'".

淘网后,我试图加载mscorwks通过执行以下命令

After scouring the web, I tried to load mscorwks by executing the following command...

sxe ld mscorwks.dll
g

...并获得中的G没有可运行debuggees错误

...and received the response "No runnable debuggees error in 'g'"

我复制SOS.dll(从C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319)到WinDbg的目录,然后尝试......

I copied SOS.dll (from C:\Windows\Microsoft.NET\Framework\v4.0.30319) into the WinDbg directory, then tried...

.load sos

...并收到错误...

...and received the error...

The call to LoadLibrary(sos) failed, Win32 error 0n193
    "%1 is not a valid Win32 application."
Please check your debugger configuration and/or network access.

我不太清楚如何进行。我只是想加载SOS和周围挖这个转储文件。任何帮助将大大AP preciated。

I'm not quite sure how to proceed. I just want to load SOS and dig around this dump file. Any help would be greatly appreciated.

据透露......我想开一个64位版本的Windows 7与64位版本的WinDbg转储文件。

Fyi...I am trying to open the dump file on a 64-bit version of Windows 7 with the 64-bit version of Windbg.

推荐答案

在CLR运行时DLL被重命名为 clr.dll 与.NET 4所以为了加载正确版本SOS您需要调整您的 .loadby 命令。即。

The CLR runtime dll was renamed to clr.dll with .NET 4. So in order to load the correct version of SOS you need to adjust your .loadby command. I.e.

.loadby sos clr

另外,如果你在64位,你应该安装32位版本的调试工具视窗以及为了调试32位应用程序。它们安装侧由端,所以没有问题,在具有同时在32位和在同一台机器上的64位版本。

Also, if you're on 64 bit, you should install the 32 bit version of Debugging Tools for Windows as well in order to debug 32 bit apps. They install side-by-side, so there's no problem in having both the 32 bit and the 64 bit version on the same machine.

我会建议禁止复制SOS.dll。 SOS需要匹配框架的确切版本,所以只要你从框架目录中使用 .loadby ,你所有的设置加载它。

I would advice against copying SOS.dll. SOS needs to match the exact version of the framework, so as long as you load it from the framework directory using .loadby, you're all set.

这篇关于无法加载SOS WinDbg中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆