按版本号下载SOS.dll

问题描述 投票:5回答:2

我有一个需要SOS.dll 4.0.30319.1008的迷你转储,但是winDBG无法下载正确的dll。符号路径已设置为SRV*C:\symcache*http://msdl.microsoft.com/download/symbols

有没有人知道在哪里下载SOS.dll提供版本号?我决定手动下载DLL并将其替换为Windows下的Microsoft.net折叠。

download windbg sos
2个回答
11
投票

更新:I published a blog post on how to open snapshots collected on other machines


如果您没有目标计算机所需的SOS和CLR程序集,请尝试执行以下步骤:

  • .sympath c:\ symbols // [setSymPath]
  • .symfix + // [尝试下载所需的程序集。这将是第一次需要多年
  • .cordll -ve -u -l //尝试自动加载所需的程序集
  • .reload //只是在案件中

如果它不起作用[罕见情况],则执行一系列步骤:

  1. SOS CLR程序集包含在Microsoft更新中,因此您需要提取目标计算机上安装的相同更新(捕获memery转储的位置)。这是一个回购链接:http://www.mskbfiles.com/sos.dll.php
  2. 下载所需的更新并解压缩几次[f.e.您将获得'GDRGDR.cab'和'QFEGDR.cab'文件 - >解压缩它们]
  3. 生成的文件夹将需要名为like的程序集:'clr_dll_amd64' - >应重命名为clr.dll
  4. 您需要找到所需的(CPU架构,位数很重要)
  5. 你可以使用.load c:\ mytempfolder \ NDP40-KB2835393-x64 \ QFEGDR \ sos将它加载到Windbg中[只有精确的汇编匹配才有效]
  6. 加载文件后,请使用.reload命令

希望这有助于=)


4
投票

我没有详细调查过,但是如果输入!analyze -v,似乎WinDbg会为.NET转储下载SOS.dll。此外,当您进行转储分析时,DebugDiag 似乎加载SOS.dll。

如果所有选项均无效,请在创建转储的计算机上运行Mscordacwkscollector

我还维持一个archive of debugging DLLs

© www.soinside.com 2019 - 2024. All rights reserved.