按版本号下载SOS.dll

时间:2014-07-15 17:21:47

标签: download windbg sos

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

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

2 个答案:

答案 0 :(得分:11)

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


如果您没有所需的SOS& S,请尝试执行以下步骤:来自目标机器的CLR程序集:

  • .sympath c:\ symbols // [setSymPath]
  • .symfix + // [尝试下载所需的程序集。第一次需要多长时间
  • .cordll -ve -u -l <​​/ strong> //尝试自动加载所需的程序集
  • .reload // just-in-case

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

  1. SOS CLR 程序集包含在Microsoft更新中,因此 您需要提取目标计算机上安装的相同更新 (捕获了memery转储)。以下是repo:http://www.mskbfiles.com/sos.dll.php
  2. 的链接
  3. 下载所需的更新并解压缩几次[f.e.你会得到GDRGDR.cab&#39;和&#39; QFEGDR.cab&#39;文件 - &gt;也解压缩他们]
  4. 生成的文件夹需要名为:&#39; clr_dll_amd64&#39; - &GT;应该重命名为clr.dll
  5. 您需要找到所需的(CPU架构,位数很重要)
  6. 您可以使用 .load c:\ mytempfolder \ NDP40-KB2835393-x64 \ QFEGDR \ sos [只有精确的程序集匹配才能正常工作] <将它加载到Windbg中/ LI>
  7. 加载文件后,使用 .reload 命令,只提供案例
  8. 希望这有助于=)

答案 1 :(得分:4)

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

如果所有选项都不起作用,请在创建转储的计算机上运行Mscordacwkscollector

我还保留了archive of debugging DLLs