是否可以在 Windows XP 上使用 windbg 调试 win2003 IIS 故障转储? [英] Is it possible to debug win2003 IIS crash dump using windbg on windows XP?

查看:25
本文介绍了是否可以在 Windows XP 上使用 windbg 调试 win2003 IIS 故障转储?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  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 命令应在重试时起作用.如果您正在调试小型转储,您需要确保您的可执行文件路径也指向 mscorwks.dll.

解决方案

出现这种情况是因为您的计算机上的 .net 次要版本与服务器上的不同.我的意思不是 .net 3.5 与 4.0,我的意思是 a.b.c.d.dll 与 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 嘈杂.symfix c:\mylocalsymcache.cordll -ve -u -l

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

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

  1. I downloaded symbols for windows2003 server from here http://msdn.microsoft.com/en-us/windows/hardware/gg463028

  2. I did what is described here - http://blogs.msdn.com/b/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx. But when I try to run !threadpool it says

0:024> !threadpool
Failed to load data access DLL, 0x80004005
Verify that 1) you have a recent build of the debugger (6.2.14 or newer)
            2) the file mscordacwks.dll that matches your version of mscorwks.dll is 
                in the version directory
            3) or, if you are debugging a dump file, verify that the file 
                mscordacwks___.dll is on your symbol path.
            4) you are debugging on the same architecture as the dump file.
                For example, an IA64 dump file must be debugged on an IA64
                machine.

You can also run the debugger command .cordll to control the debugger's
load of mscordacwks.dll.  .cordll -ve -u -l will do a verbose reload.
If that succeeds, the SOS command should work on retry.

If you are debugging a minidump, you need to make sure that your executable
path is pointing to mscorwks.dll as well.

解决方案

This occurs because you have a different minor version of .net on your computer than the server has. I don't mean .net 3.5 vs 4.0, I mean version a.b.c.d.dll vs e.f.g.h.dll.

You need to get a copy of c:\windows\microsoft.net\framework\v2.0.50727\mscordacwks.dll from the windows2003 server.

Then, follow the steps in this post: http://blogs.msdn.com/b/dougste/archive/2009/02/18/failed-to-load-data-access-dll-0x80004005-or-what-is-mscordacwks-dll.aspx.

Try this first:

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

If that doesn't work, then you'll rename the mscordacwks.dll file, copy it to the symbol location specified on your machine, and try again.

Please do not overwrite the file on your computer with the one from the windows 2003 server. :)

这篇关于是否可以在 Windows XP 上使用 windbg 调试 win2003 IIS 故障转储?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆