gpt4 book ai didi

.net-4.0 - 无法在 WinDbg 中加载 SOS

转载 作者:行者123 更新时间:2023-12-03 04:29:46 24 4
gpt4 key购买 nike

背景:我是 WinDbg 新手,第一次尝试让它运行。我想检查从 Windows Server 2008 (x86) 上的 IIS 7 中托管的正在运行的 ASP.NET 4 站点获取的内存转储,并将其下载到我的本地计算机。

我安装了 debugging tools并首次启动 WinDbg,打开故障转储。我转到文件|符号文件路径并将路径设置为*srv*c:\symbols*http://msdl.microsoft.com/download/symbols*并等待所有符号加载。

当尝试加载 SOS 时,我遇到了问题。首先,我尝试了以下命令...

.loadby sos mscorwks

...并收到响应无法找到模块“mscorwks”

在网上搜索后,我尝试通过执行以下命令来加载 mscorwks...

sxe ld mscorwks.dll
g

...并收到响应“'g'中没有可运行的调试程序错误”

我将SOS.dll(从C:\Windows\Microsoft.NET\Framework\v4.0.30319)复制到WinDbg目录中,然后尝试...

.load sos

...并收到错误...

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 并挖掘这个转储文件。任何帮助将不胜感激。

仅供引用...我正在尝试使用 64 位版本的 Windbg 在 64 位版本的 Windows 7 上打开转储文件。

最佳答案

CLR 运行时 dll 在 .NET 4 中已重命名为 clr.dll。因此,为了加载正确版本的 SOS,您需要调整 .loadby 命令。即

.loadby sos clr

此外,如果您使用的是 64 位系统,则应安装 32 位版本的 Debugging Tools for Windows以及调试 32 位应用程序。它们并行安装,因此在同一台计算机上同时安装 32 位和 64 位版本没有问题。

我建议不要复制 SOS.dll。 SOS 需要匹配框架的确切版本,因此只要您使用 .loadby 从框架目录加载它,就万事大吉了。

关于.net-4.0 - 无法在 WinDbg 中加载 SOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4373683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com