我正在尝试使用WinDbg和SOS.dll读取.NET 2.0程序集的故障转储文件。
通过阅读,我了解到我必须将sos.dll,mscorwks.dll和mscordacwks.dll复制到windbg安装目录中。
所以我这样做了,但WinDbg然后告诉我,我自己的.Net目录中的副本是错误的版本。 WinDbg正在寻找mscordacwks.dll_x86_x86_2.0.50727.4211.dll,我有mscordacwks.dll_x86_x86_2.0.50727.5420.dll
以下是问题:我在哪里可以找到这些文件的正确版本?
a)在崩溃的应用程序建立的机器上
或
b)在应用程序崩溃的机器上?
我找到this site,你可以看到哪个.NET补丁包含哪些版本,但是我没有设法下载相关的补丁(找不到它)所以我想到复制文件来自其中一台受影响的机器会更快。
答案 0 :(得分:2)
如果从未在任何一台机器上更新.NET,则a或b都可以工作。如果我没有特定的DAC文件,我通常会从崩溃的机器上获取它。请记住将您遇到的每个DAC保存到目录中。然后将此目录添加到符号路径中。随着时间的推移,这将使您在查找DAC时遇到的困难更少。