按版本号下载SOS.dll
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按版本号下载SOS.dll相关的知识,希望对你有一定的参考价值。
我有一个需要SOS.dll 4.0.30319.1008的迷你转储,但是winDBG无法下载正确的dll。符号路径已设置为SRV*C:symcache*http://msdl.microsoft.com/download/symbols
有没有人知道在哪里下载SOS.dll提供版本号?我决定手动下载DLL并将其替换为Windows下的Microsoft.net折叠。
更新: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 //只是在案件中
如果它不起作用[罕见情况],则执行一系列步骤:
- SOS CLR程序集包含在Microsoft更新中,因此您需要提取目标计算机上安装的相同更新(捕获memery转储的位置)。这是一个回购链接:http://www.mskbfiles.com/sos.dll.php
- 下载所需的更新并解压缩几次[f.e.您将获得'GDRGDR.cab'和'QFEGDR.cab'文件 - >解压缩它们]
- 生成的文件夹将需要名为like的程序集:'clr_dll_amd64' - >应重命名为clr.dll
- 您需要找到所需的(CPU架构,位数很重要)
- 你可以使用.load c: mytempfolder NDP40-KB2835393-x64 QFEGDR sos将它加载到Windbg中[只有精确的汇编匹配才有效]
- 加载文件后,请使用.reload命令
希望这有助于=)
我没有详细调查过,但是如果输入!analyze -v
,似乎WinDbg会为.NET转储下载SOS.dll。此外,当您进行转储分析时,DebugDiag 似乎加载SOS.dll。
如果所有选项均无效,请在创建转储的计算机上运行Mscordacwkscollector。
我还维持一个archive of debugging DLLs。
以上是关于按版本号下载SOS.dll的主要内容,如果未能解决你的问题,请参考以下文章
详细说说在Vistual studio IDE里使用SOS.dll扩展调试程序
WinDbg 加载 dotnet core 的 sos.dll 辅助调试方法
Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段