Windbg加载dump的时候报”Failed to load data access DLL, 0x80004005”错误

“Failed to load data access DLL, 0x80004005”这个问题可能有很多种原因,本文描述的一种情况就是客户的站点的.Net Framework的版本和本地调试机的版本不一致,以及解决方案。

废话少说,直接开工。(蓝色粗体命令为解决问题的命令)

# Windbg加载dump文件后的一些文件信息

Microsoft (R) Windows Debugger Version 6.3.9600.17298 X86

Copyright (c) Microsoft Corporation. All rights reserved.

Loading Dump File [C:\dump\EMSClientApp (2).DMP]

User Mini Dump File with Full Memory: Only application data is available

Symbol search path is: *** Invalid ***

****************************************************************************

* Symbol loading may be unreliable without a symbol search path. *

* Use .symfix to have the debugger choose a symbol path. *

* After setting your symbol path, use .reload to refresh symbol locations. *

****************************************************************************

Executable search path is:

Windows 7 Version 7601 (Service Pack 1) MP (4 procs) Free x86 compatible

Product: WinNt, suite: SingleUserTS

Machine Name:

Debug session time: Tue Sep 1 01:37:14.000 2015 (UTC + 8:00)

System Uptime: 3 days 8:54:07.007

Process Uptime: 0 days 0:24:25.000

................................................................

................................................................

...............

Loading unloaded module list

......................................................

*** ERROR: Symbol file could not be found. Defaulted to export symbols for ntdll.dll -

*** ERROR: Symbol file could not be found. Defaulted to export symbols for kernel32.dll -

eax=000024f9 ebx=0017d7dc ecx=00000200 edx=00000104 esi=00000002 edi=00000000

eip=774c70b4 esp=0017d78c ebp=0017d828 iopl=0 nv up ei pl zr na pe nc

cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246

ntdll!KiFastSystemCallRet:

774c70b4 c3 ret

# 加载debug extension

0:000> .loadby sos clr

# 看一下调用栈,轻车熟路.

0:000> !clrstack

*********************************************************************

* Symbols can not be loaded because symbol path is not initialized. *

* *

* The Symbol Path can be set by: *

* using the _NT_SYMBOL_PATH environment variable. *

* using the -y <symbol_path> argument when starting the debugger. *

* using .sympath and .sympath+ *

*********************************************************************

PDB symbol for clr.dll not loaded

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 clr.dll is

in the version directory or on the symbol path

3) or, if you are debugging a dump file, verify that the file

mscordacwks_<arch>_<arch>_<version>.dll is on your symbol path.

4) you are debugging on supported cross platform architecture as

the dump file. For example, an ARM dump file must be debugged

on an X86 or an ARM machine; an AMD64 dump file must be

debugged on an AMD64 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 clr.dll as well.

# 这个, 好像没按套路出牌…老老实实按提示做

0:000> .cordll -ve -u -l

CLRDLL: C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscordacwks.dll:4.0.30319.34014 f:8

doesn't match desired version 4.0.30319.01 f:8

CLRDLL: Unable to find mscordacwks_x86_x86_4.0.30319.01.dll by mscorwks search

CLRDLL: Unable to find 'mscordacwks_x86_x86_4.0.30319.01.dll' on the path

CLRDLL: Unable to find clr.dll by search

Cannot Automatically load SOS

CLRDLL: ERROR: Unable to load DLL mscordacwks_x86_x86_4.0.30319.01.dll, Win32 error 0n2

CLR DLL status: ERROR: Unable to load DLL mscordacwks_x86_x86_4.0.30319.01.dll, Win32 error 0n2

# 提示信息比较明确,就是运行时环境的版本和调试机的版本不一致。于是我们从客户机上面把.Net Framework的目录拷贝过来。

#(当然,按照网上的说法,只要拷贝三个dll就可以了)

#拷完继续…

0:000> .exepath+ C:\Framework\v4.0.30319

Executable image search path is: C:\Framework\v4.0.30319

Expanded Executable image search path is: c:\framework\v4.0.30319

************* Symbol Path validation summary **************

Response Time (ms) Location

OK C:\Framework\v4.0.30319

0:000> .sympath+ srv*c:\symbols*http://msdl.microsoft.com/download/symbols

Symbol search path is: srv*c:\symbols*http://msdl.microsoft.com/download/symbols

Expanded Symbol search path is: srv*c:\symbols*http://msdl.microsoft.com/download/symbols

************* Symbol Path validation summary **************

Response Time (ms) Location

Deferred srv*c:\symbols*http://msdl.microsoft.com/download/symbols

#嗯

0:000> .reload

................................................................

................................................................

...............

Loading unloaded module list

......................................................

0:000> .symfix+ c:\symbols

0:000> .reload /f

.*** ERROR: Module load completed but symbols could not be loaded for EMSClientApp.exe

...

Press ctrl-c (cdb, kd, ntsd) or ctrl-break (windbg) to abort symbol loads that take too long.

Run !sym noisy before .reload to track down problems loading symbols.

................*** WARNING: Unable to verify checksum for mscorlib.ni.dll

....*** ERROR: Symbol file could not be found. Defaulted to export symbols for safemon.dll -

..................*** WARNING: Unable to verify checksum for System.ni.dll

.*** WARNING: Unable to verify checksum for System.Drawing.ni.dll

.*** WARNING: Unable to verify checksum for System.Windows.Forms.ni.dll

..*** WARNING: Unable to verify checksum for System.Core.ni.dll

.*** WARNING: Unable to verify checksum for Microsoft.VisualBasic.ni.dll

.*** WARNING: Unable to verify checksum for System.ServiceModel.ni.dll

.*** WARNING: Unable to verify checksum for SMDiagnostics.ni.dll

.*** WARNING: Unable to verify checksum for System.Runtime.DurableInstancing.ni.dll

.*** WARNING: Unable to verify checksum for System.Configuration.ni.dll

.*** WARNING: Unable to verify checksum for System.Xml.ni.dll

.*** WARNING: Unable to verify checksum for System.Transactions.ni.dll

..*** WARNING: Unable to verify checksum for System.Runtime.Serialization.ni.dll

..*** WARNING: Unable to verify checksum for System.IdentityModel.ni.dll

.......

...*** WARNING: Unable to verify checksum for System.Deployment.ni.dll

.*** WARNING: Unable to verify checksum for System.Web.ni.dll

.........*** WARNING: Unable to verify checksum for System.Data.ni.dll

.............*** WARNING: Unable to verify checksum for System.Runtime.Remoting.ni.dll

.*** WARNING: Unable to verify checksum for System.WorkflowServices.ni.dll

.*** WARNING: Unable to verify checksum for System.ServiceModel.Web.ni.dll

.*** WARNING: Unable to verify checksum for System.ServiceModel.Discovery.ni.dll

.*** WARNING: Unable to verify checksum for System.ServiceModel.Activities.ni.dll

.*** WARNING: Unable to verify checksum for System.ServiceModel.Routing.ni.dll

.*** WARNING: Unable to verify checksum for System.ServiceModel.Channels.ni.dll

....*** WARNING: Unable to verify checksum for System.Xaml.ni.dll

..*** WARNING: Unable to verify checksum for System.Management.ni.dll

....................*** ERROR: Symbol file could not be found. Defaulted to export symbols for slc.dll -

......

...*** ERROR: Symbol file could not be found. Defaulted to export symbols for ZSDNT5UI.DLL -

.*** ERROR: Symbol file could not be found. Defaulted to export symbols for ZSDDM.DLL -

.*** ERROR: Symbol file could not be found. Defaulted to export symbols for ZSPOOL.DLL -

.*** ERROR: Symbol file could not be found. Defaulted to export symbols for ZGDI.DLL -

.*** ERROR: Symbol file could not be found. Defaulted to export symbols for ZTAG.DLL -

.*** ERROR: Symbol file could not be found. Defaulted to export symbols for ZSDDMUI.DLL -

.*** WARNING: Unable to verify checksum for ZSR.DLL

*** ERROR: Symbol file could not be found. Defaulted to export symbols for ZSR.DLL -

.*** ERROR: Symbol file could not be found. Defaulted to export symbols for ZIMFDRV.DLL -

.*** ERROR: Symbol file could not be found. Defaulted to export symbols for ZIMF.DLL -

.*** WARNING: Unable to verify checksum for System.Data.SqlXml.ni.dll

.*** WARNING: Unable to verify checksum for System.Numerics.ni.dll

.*** ERROR: Symbol file could not be found. Defaulted to export symbols for SCHook.dll -

.*** WARNING: Unable to verify checksum for Accessibility.ni.dll

Loading unloaded module list

......................................................

************* Symbol Loading Error Summary **************

Module name Error

EMSClientApp No data is available : srv*c:\symbols*http://msdl.microsoft.com/download/symbols

safemon The system cannot find the file specified : srv*c:\symbols*http://msdl.microsoft.com/download/symbols

slc The system cannot find the file specified : srv*c:\symbols*http://msdl.microsoft.com/download/symbols

ZSDNT5UI No data is available : srv*c:\symbols*http://msdl.microsoft.com/download/symbols

ZSDDM The system cannot find the file specified : srv*c:\symbols*http://msdl.microsoft.com/download/symbols

ZSPOOL No data is available : srv*c:\symbols*http://msdl.microsoft.com/download/symbols

ZGDI No data is available : srv*c:\symbols*http://msdl.microsoft.com/download/symbols

ZTAG No data is available : srv*c:\symbols*http://msdl.microsoft.com/download/symbols

ZSDDMUI No data is available : srv*c:\symbols*http://msdl.microsoft.com/download/symbols

ZSR No data is available : srv*c:\symbols*http://msdl.microsoft.com/download/symbols

ZIMFDRV No data is available : srv*c:\symbols*http://msdl.microsoft.com/download/symbols

ZIMF No data is available : srv*c:\symbols*http://msdl.microsoft.com/download/symbols

SCHook No data is available : srv*c:\symbols*http://msdl.microsoft.com/download/symbols

You can troubleshoot most symbol related issues by turning on symbol loading diagnostics (!sym noisy) and repeating the command that caused symbols to be loaded.

You should also verify that your symbol search path (.sympath) is correct.

#关键的来了,下面这个命令可以让我们的Windbg加载正确的.Net Framework运行托管代码的引擎.

0:000> .cordll -u -ve -lp C:\Framework\v4.0.30319

Automatically loaded SOS Extension

CLRDLL: Loaded DLL C:\Framework\v4.0.30319\mscordacwks.dll

CLR DLL status: Loaded DLL C:\Framework\v4.0.30319\mscordacwks.dll

#虽然提示自动加载了SOS Extension,还是自己在手工加载一遍。

0:000> .load C:\Framework\v4.0.30319\SOS.dll

#试试看成果

0:000> !clrstack

OS Thread Id: 0x1c994 (0)

Child SP IP Call Site

0017db60 774c70b4 [HelperMethodFrame_1OBJ: 0017db60] System.Threading.WaitHandle.WaitOneNative(System.Runtime.InteropServices.SafeHandle, UInt32, Boolean, Boolean)

0017dc08 6370b5ef System.Threading.WaitHandle.InternalWaitOne(System.Runtime.InteropServices.SafeHandle, Int64, Boolean, Boolean)

0017dc24 6370b5ad System.Threading.WaitHandle.WaitOne(Int32, Boolean)

0017dc3c 648c67c7 System.Net.LazyAsyncResult.WaitForCompletion(Boolean)

0017dc70 648ee9c4 System.Net.Connection.SubmitRequest(System.Net.HttpWebRequest, Boolean)

0017dcbc 648ee13a System.Net.ServicePoint.SubmitRequest(System.Net.HttpWebRequest, System.String)

0017dcfc 648eda65 System.Net.HttpWebRequest.SubmitRequest(System.Net.ServicePoint)

0017dd28 648f6011 System.Net.HttpWebRequest.GetRequestStream(System.Net.TransportContext ByRef)

0017dd60 648f5dae System.Net.HttpWebRequest.GetRequestStream()

0017dd68 07a4895b System.ServiceModel.Channels.HttpOutput+WebRequestHttpOutput.GetOutputStream()

0017dd9c 07a43d9a System.ServiceModel.Channels.HttpOutput.Send(System.TimeSpan)

0017ddcc 07a423db System.ServiceModel.Channels.HttpChannelFactory+HttpRequestChannel+HttpChannelRequest.SendRequest(System.ServiceModel.Channels.Message, System.TimeSpan)

0017de4c 07a418cc System.ServiceModel.Channels.RequestChannel.Request(System.ServiceModel.Channels.Message, System.TimeSpan)

0017ded0 07a417de System.ServiceModel.Dispatcher.RequestChannelBinder.Request(System.ServiceModel.Channels.Message, System.TimeSpan)

0017dee4 06fac120 System.ServiceModel.Channels.ServiceChannel.Call(System.String, Boolean, System.ServiceModel.Dispatcher.ProxyOperationRuntime, System.Object[], System.Object[], System.TimeSpan)

0017e034 06fabe04 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(System.Runtime.Remoting.Messaging.IMethodCallMessage, System.ServiceModel.Dispatcher.ProxyOperationRuntime)

0017e05c 06fab36a System.ServiceModel.Channels.ServiceChannelProxy.Invoke(System.Runtime.Remoting.Messaging.IMessage)

0017e0a0 636ca25e System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(System.Runtime.Remoting.Proxies.MessageData ByRef, Int32)

0017e330 6c6e2356 [TPMethodFrame: 0017e330] MyApplication.Contracts.IProcedureProvider_Service.SetItemData(System.String, System.String)

......<cut to save space>......

0017f1b8 62f0f3d0 System.Windows.Forms.Application.Run(System.Windows.Forms.ApplicationContext)

0017f1c4 6de7c53c Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()

0017f1f0 6de7c3e8 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()

0017f21c 6de7cef9 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(System.String[])

0017f268 00640117 MyApplication.ClientApp.frmMain.Main(System.String[])

0017f4cc 6c6e21db [GCFrame: 0017f4cc]

#熟悉的味道又回来了

更多参考

1. https://blogs.msdn.microsoft.com/dougste/2009/02/18/failed-to-load-data-access-dll-0x80004005-or-what-is-mscordacwks-dll/

posted on 2017-03-03 16:24 PonyTan 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/fbird/p/6497289.html

Windbg加载dump的时候报”Failed to load data access DLL, 0x80004005”错误相关推荐

  1. 解决英伟达登录的人机验证无法加载的问题,Validator failed to load,please check your browsersettings,such as ad blockers.

    近来在给英伟达的TX2开发板刷新的JetPack,用的是官方的sdkmanager,第一步就需要我们先登录英伟达的账号,可是这个人机验证怎么样都加载不出来,梯子也搭了都不行,就像下面这个样子: 经过多 ...

  2. Eclipse3.6.2 64位启动报“Failed to load the JNI shared library”错的解决方法

    Eclipse3.6.2 64位解压后双击运行eclipse,报"Failed to load the JNI shared library"错误. 如下图所示: 原来我的jdk是 ...

  3. WinDBG加载符号表的一点心得体会

    新建一个环境变量_NT_SYMBOL_PATH 值为: SRV*c:\mysymbol* http://msdl.microsoft.com/download/symbols WinDBG无法加载符号 ...

  4. VMBox加载拷贝的vid报错E_INVALIDARG (0x80070057) Cannot register the hard disk 'D:\VMBox\win7.vdi' {7bca5a3

    VMBox加载拷贝的vid报错E_INVALIDARG (0x80070057) Cannot register the hard disk 'D:\VMBox\win7.vdi' {7bca5a3e ...

  5. Android webview加载天猫店铺时会报net::ERR_UNKNOWN_URL_SCHEME;

    在做项目时,需求要求购买页要跳转天猫店,网址是:https://miruiylqx.tmall.com/ 发现webview 加载天猫店铺时会报net::ERR_UNKNOWN_URL_SCHEME; ...

  6. 无法加载操作系统,原因是关键系统驱动驱动程序丢失或包含错误 kisboot.sys

    0. 问题 win10系统上安装了Ubuntu双系统,导致原windows系统引导无法正常启动.自己尝试修复win10引导,结果新的Ubuntu的grub引导也崩溃了. 1. 修复Ubuntu引导 采 ...

  7. mac环境安装Eclipse 2020-03版报failed to create the java virtual machine错误的解决

    mac环境安装Eclipse 2020-03版报"failed to create the java virtual machine"错误的解决 2020.4.13日 版权声明:本 ...

  8. Failed to load ‘Assets/Plugins/******.dll‘ with error ‘找不到指定的模块。

    Failed to load 'Assets/Plugins/******.dll' with error '找不到指定的模块. 项目场景: 问题描述: 原因分析: 参考链接 解决方案: 项目场景: ...

  9. .NET Core SDK在Windows系统安装后出现Failed to load the hostfxr.dll等问题的解决方法

    .NET Core SDK在Windows系统安装后出现Failed to load the hostfxr.dll等问题的解决方法 参考文章: (1).NET Core SDK在Windows系统安 ...

最新文章

  1. socket心跳机制图片_WebSocket心跳检测和重连机制
  2. 华为nova 2 Plus魔镜版818欢购热潮凶猛来袭
  3. xmemcached发布1.3.4
  4. 世界头号毒枭古斯曼被捕,全因被内部IT男出卖!
  5. 【动态规划1】动态规划的引入(今天刷洛谷了嘛)
  6. 安卓案例:帧式布局演示(切换颜色)
  7. 【微型计算机原理与接口技术】计算机中的信息表示
  8. 中国成为「研究生大国」,99%研究生背后的焦虑:就业更难了!
  9. 读《JavaScript语言精粹(修订版)》心得
  10. python matplotlib 绘图操作
  11. VS C# string 字符包含判断
  12. 例2.4 Day of Week - 九度教程第7题(日期类问题)
  13. Swing组件集合的事件处理(三)
  14. 微信小程序生成海报图片导出相册
  15. Linux命令之解压缩:tar、zip、rar 命令
  16. 商品评论信息与评论信息分类
  17. Android程序员现状:没有架构师的命,却得了架构师的病!
  18. 设计模式之禅-抽象工厂模式
  19. 关于 三相可控硅触发板 晶闸管整流调压控制板
  20. C++计算绝对值的函数

热门文章

  1. 那些年你不知道的C/C++陷阱与套路…
  2. rpm打包的流程包括以下哪些_Linux下RPM打包流程分享
  3. 强大的Linux终端行为记录和回放工具:script命令详解
  4. 开发一个看起来不是很低端的简单公文流转系统(一)
  5. 双绕组变压器的参数计算中算短路实验时的电抗压降为什么是额定电流乘电抗再乘一个根号三呢,这个根号三何来?
  6. 对话触漫:漫画App如何做好社区治理?
  7. 基于SSM框架大学教务管理平台项目
  8. 相关性分析——皮尔逊
  9. Ubuntu 20 仓库 http://security.ubuntu.com/ubuntu xenial-security InRelease 没有数字签名 解决
  10. Android 中拍照、相册选择、裁剪照片