Iis 7 在WinDBG中读取.NET 4.0转储文件

Iis 7 在WinDBG中读取.NET 4.0转储文件,iis-7,.net-4.0,asp.net-4.0,windbg,Iis 7,.net 4.0,Asp.net 4.0,Windbg,我熟悉WinDBG范式。正在使用WinDBG x64版本查看大量转储文件。大部分转储文件是.NET 2.0应用程序和psscor2.dll。我目前使用的WinDBG版本是6.12.0002.633。最近,我一直在尝试使用psscor4.dll打开从.NET 4.0应用程序池生成的x64转储IIS转储文件。我运行的任何命令都返回“请求信息失败” 我在服务器上从c:\Windows\Microsoft.NET\Framework64\v4.0.30319下载了mscordacwks.dll 重命名为

我熟悉WinDBG范式。正在使用WinDBG x64版本查看大量转储文件。大部分转储文件是.NET 2.0应用程序和psscor2.dll。我目前使用的WinDBG版本是6.12.0002.633。最近,我一直在尝试使用psscor4.dll打开从.NET 4.0应用程序池生成的x64转储IIS转储文件。我运行的任何命令都返回“请求信息失败”

  • 我在服务器上从c:\Windows\Microsoft.NET\Framework64\v4.0.30319下载了mscordacwks.dll
  • 重命名为mscordackwks_AMD64_AMD64_4.0.30319.xxxx.dll。xxxx与文件中的编译版本匹配
  • 打开WinDBG,打开转储文件,并将上述DLL的路径添加到exepath
  • 运行基本命令!检查所有内容的版本都正常,并且我得到的GC堆未初始化,所以GC模式在垃圾收集的计划阶段还并没有确定
  • 下一步我打字!线程和获取,请求线程存储失败
  • 下一个!threadpool和I get请求ThreadpoolMgr信息失败
  • 我用这些错误消息进行了一些基本的谷歌搜索,它们都指向没有正确的mscordacwks.dll,或者在WinDBG x64中打开x86文件,或者在WinDBG x86中打开x64文件。听起来与我无关


    非常感谢您提供的任何帮助/指导

    我过去发现有3个DLL需要正确版本的来调试.Net

    sos.dll mscorwks.dll mscordacwks.dll


    下面是我通常如何获取这些dll的,尽管听起来好像您使用的是基于服务器的应用程序,这意味着您可以从生产箱中获取它们,如果您有权访问它,或者从暂存箱(如果您没有访问权)。

    版本号4.0.30319.17929是一个.NET 4.5版本号。PSSCOR4将不会调试4.5。您需要使用适用于所有.NET 2.0-4.5版本的4.0 SOS和/或SOSEX。

    转储中的CLR的确切版本是什么?SOS命令有效吗?4.0.30319.17929。没有SOS命令会给出相同的错误只是想指出,您的链接是针对.NET v2.0的,您只需要2个mscorwks.dll和mscordacwks.dll。但是,对于v4.0来说似乎有所不同,没有mscorwks.dll。它将替换为clr.dll。此外,sos.dll对于这两个版本都不是强制性的。我认为你是对的。通过从服务器下载CLR.dll,我终于让sos正常工作了。现在,我可以运行SOS命令,但psscor4故障我有sosex4,我也不断遇到故障。我喜欢深沉的性爱。你能用吗?任何针对.NET4.5的特殊步骤?Sosex适用于.NET4.5。如果您遇到问题,请将我脱机以寻求帮助。@G33kKahuna,您可以在4.5版中尝试此选项(对我有效):(为了使用sosex,我必须卸载Sos.dll)