【问题标题】:Is it possible to debug win2003 IIS crash dump using windbg on windows XP?是否可以在 windows XP 上使用 windbg 调试 win2003 IIS 故障转储?
【发布时间】:2011-05-27 14:43:27
【问题描述】:
  1. 我从这里下载了 windows2003 服务器的符号 http://msdn.microsoft.com/en-us/windows/hardware/gg463028

  2. 我做了这里描述的事情 - http://blogs.msdn.com/b/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx。但是当我尝试运行 !threadpool 时,它会说

0:024> !线程池 加载数据访问DLL失败,0x80004005 验证 1) 您有最新版本的调试器(6.2.14 或更高版本) 2) 与您的 mscorwks.dll 版本匹配的文件 mscordacwks.dll 是 在版本目录中 3) 或者,如果您正在调试转储文件,请验证该文件 mscordacwks___.dll 在您的符号路径上。 4)您正在与转储文件相同的架构上进行调试。 例如,必须在 IA64 上调试 IA64 转储文件 机器。 也可以运行调试器命令 .cordll 来控制调试器的 mscordacwks.dll 的负载。 .cordll -ve -u -l 将进行详细的重新加载。 如果成功,SOS 命令应该会重试。 如果您正在调试小型转储,则需要确保您的可执行文件 path 也指向 mscorwks.dll。

【问题讨论】:

标签: windbg crash-dumps


【解决方案1】:

这是因为您的计算机上的 .net 次要版本与服务器上的不同。我的意思不是 .net 3.5 vs 4.0,我是指版本 a.b.c.d.dll vs e.f.g.h.dll。

您需要从 windows2003 服务器获取 c:\windows\microsoft.net\framework\v2.0.50727\mscordacwks.dll 的副本。

然后,按照这篇文章中的步骤操作:http://blogs.msdn.com/b/dougste/archive/2009/02/18/failed-to-load-data-access-dll-0x80004005-or-what-is-mscordacwks-dll.aspx

先试试这个:

!sym noisy 
.symfix c:\mylocalsymcache 
.cordll -ve -u -l

如果这不起作用,那么您将重命名 mscordacwks.dll 文件,将其复制到您机器上指定的符号位置,然后重试。

请不要用 windows 2003 服务器上的文件覆盖您计算机上的文件。 :)

【讨论】:

  • 非常感谢。我已经找到了相同的博客并且它有效。我当然赞成。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多