获取和分析Dump的几种工具简介

最近在进一步学习support技能的时候,了解到分析Dump的重要性,经过学习,做一些笔记。

一、什么是Dump文件。
Dump文件时进程的内存镜像。可以把程序的执行状态保存到Dump文件中。Dump文件分为内核模式Dump和用户模式Dump。其中内核模式Dump是操作系统创建的崩溃转储,例如蓝屏Dump。而在我们调试或Troubleshooting过程中使用的Dump是用户模式Dump,又分为Full Dump和Mini Dump。Full Dump包含了某个进程完整的地址空间数据,以及许多用于调试的信息。而Mini Dump根据需要可以包含不同的信息,有的可能只包含某个县城和部分模块的信息。

二、创建Dump的方法和工具
1.任务管理器。
在Windows Server 2008以上版本的系统中,可以利用任务管理器直接创建Dump。方法是打开任务管理器->右键目标进程->Create Dump File,就可以创建出Dump文件了。这个方法不常用,据说因为会涉及到32位和64位环境对内存寻址的影响。

在这里插入图片描述

2.ProcDump.exe
ProcDump是一个可以用于诊断多种问题的命令行工具,它可以在没有任何异常发生的时候, 捕获Dump用于分析。它最大的特点是可以针对CPU使用率来筛选捕获Dump,这个功能在处理间歇性问题时有奇效。比如系统或App没有发生crash或hang,但是在某个阶段中CPU占用率超高,这个时候就可以用ProcDump来设置条件捕获Dump用于找出哪个进程是造成CPU占用率高的原因。

ProcDump的下载地址为ProcDump下载及介绍 ,在同一页中还有对于ProcDump的命令的详细说明。

如图是一个实际使用的例子,在cmd窗口,进入ProcDump.exe文件夹,输入命令procdump.exe -ma 6612, 就可以获取Process ID为6612的Full Dump文件。
在这里插入图片描述

再例如命令:
procdump -ma -c 50 -s 3 -n 2 5844(Process Name or PID)
-ma 生成full dump, 即包括进程的所有内存. 默认的dump格式包括线程和句柄信息.
-c 在CPU使用率到达这个阀值的时候, 生成dump文件.
-s CPU阀值必须持续多少秒才抓取dump文件.
-n 在该工具退出之前要抓取多少个dump文件.

对于ProcDump的进一步了解可以阅读下载页面上的介绍,也可以参照介绍一个好用的抓取dump的工具-ProcDump

3.DebugDiag 2 collection
这是Debug Diagnostics Tools 2中的收集Dump的工具,这个Tools里面还有DebugDiag 2 analysis可以用于Dump文件的分析,我们在后面会提到。

DebugDiag下载地址为DebugDiag 下载。它可以在App发生Crash或Hang时,自动转存Dump文件用于分析。DebugDiag collection的使用是通过设置rule来自动抓取Dump文件。也可以手动抓取Process的Dump文件。其具体操作可以参照DebugDiag简介

三、Dump文件分析工具
1.DebugDiag 2 analysis。这个就是上文中提到的Debug Diagnostics Tools 2 中的一部分,用于分析Dump。这个工具操作起来比较傻瓜式,不许要过多输入命令,只需要将Dump文件导入就会自动出现分析结果。

打开Debugdiag工具,在Tools->Options and Settings->Folders and Search Paths->Symbol Search Path For Analysis里填入:
SRVf:\localsymbolshttp://msdl.microsoft.com/download/symbols
其中f:\localsymbols可以用硬盘中的目录替代,http://msdl.microsoft.com/download/symbols是微软公用symbol的URL,不用改变。

在Advanced Analysis页中,选择Crash/Hang Analyzers,并点击Add Files…按钮选择生成出的dump文件(后缀名为.dmp)。Debugdiag会因此分析dump文件并产生报告。

2.WinDbg
WinDbg也是微软公司的用于软件开发调试的工具,在分析Dump文件领域受到广泛的使用。其下载地址为官方下载地址,其是一个SDK中的一个组成部分,也可以百度之进行单独下载。

WinDbg下载后应该是一个msi文件,在win7版本以上操作系统中可以直接双击安装。安装后在开始菜单中就可以选择WinDbg使用了。
在这里插入图片描述

在使用WinDbg时第一步需要做的就是设置符号文件的位置。符号路径设置:
[File]-[Symbol File Path]或直接快捷键Ctrl+S在弹出的窗口中输入你的符号路径,路径的格式只要符合Windows操作系统路径格式即可,路径可以多个,中间以分号间隔,d:\symbols\win2k3_en;
Windbg可以自动到Microsoft的服务器上下载符号表文件(.dbg或.pdb,有时DLL和EXE也会下载),只要在符合表路径里做如下设置:srvd:\symbolslocalhttp://msdl.microsoft.com/download/symbols,这样如果相关符号表在d:\symbolslocal目录没有找到的话,Windbg会自动在Microsoft的Symbol Servers上下载。

如果你是调试自己的应用程序的话,建议你将自己应用程序的*.pdb文件的路径放在前面这样对Windbg来说查找起来比较快。如:在windbg的file/symbol file path对话框里输入以下文字,以便自动加载和下载符号C:\WINDOWS\Symbols;d:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\symbols;.sympath SRVd:\localsymbolshttp://msdl.microsoft.com/download/symbols

更多关于安装和配置WinDbg的symbol可以参考链接。

在命令行中配置好symbol之后,需要用到!sym noisy和.reload命令
在这里插入图片描述
然后就可以根据需求在菜单中选择需要进行的操作了
在这里插入图片描述
由于WinDbg相比于DebugDiag而言没有那么一键操作,因此还需要用到命令行来进行分析,主要的命令是!analyze -v用于自动分析指令。此外还有许多命令,需要在以后的学习中进一步掌握。可以参考的资料有windbg分析dump操作流程以及使用Windbg解析dump文件

  • 12
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 电梯卡dump数据分析是指对于电梯卡在特定时间内使用电梯的记录进行整理和分析,从中获取有用信息的过程。电梯卡dump数据中可能包含的信息有:时间、地点、使用者、电梯编号等。数据分析的目的是为了更加有效地管理和维护电梯设备,提升电梯的安全性和服务质量。 电梯卡dump数据可以通过一些软件进行处理和分析,如SQL、Excel等。典型的分析方法包括: 1.统计电梯使用次数和使用率,以便了解电梯设备的繁忙程度和使用效率。 2.分析电梯运行时间和停留时间,以便发现电梯故障和瓶颈,并优化电梯的运行计划。 3.识别电梯使用高峰时段和热门地点,并进行运营调整,以便提供更为高效的服务。 4.探测电梯的异常使用情况,如有人长期占用电梯、过多人员滞留等,及时发现和解决潜在安全问题。 综上所述,电梯卡dump数据分析是电梯设备管理的重要工具,通过对数据的精准处理和分析,可以帮助实现电梯设备的全面管理,提高电梯安全性和用户体验。 ### 回答2: 电梯卡dump数据分析可进一步优化电梯运营。电梯卡在进入或离开电梯时被扫描,记录了入离电梯时间及所处楼层。通过对这些数据的分析,可以从以下几个方面来优化电梯运营。 首先,电梯卡分析可以确定峰值楼层和高峰时段。根据这些数据,电梯管理员可以合理调配电梯资源,特别是在人流量较大的高峰时段,提高电梯的效率和安全性。 其次,电梯卡分析可以确保电梯安全。当电梯卡被扫描时,记录了电梯所处的楼层,如果出现电梯故障,可以通过电梯卡数据分析找出故障点,进行及时维修,避免出现安全问题。 最后,电梯卡分析可以帮助管理人员及时发现电梯故障。通过分析电梯卡数据,管理员可以了解到电梯的使用频率、楼层分布等情况,针对性地制定维护计划,提高电梯的运营效率。 总之,电梯卡dump数据分析可以为电梯管理提供有价值的数据分析支持,进一步提高电梯运营效率及安全性。 ### 回答3: 电梯卡dump数据分析,首先需要理解dump数据是什么。dump数据是指系统异常崩溃时,系统把内存中的数据存储在硬盘上的一种技术。电梯卡dump数据则是指电梯系统异常时,系统储存的相关数据。通过对电梯卡dump数据的分析,可以更准确地定位问题并进行解决。 电梯卡dump数据分析的步骤可以分为以下几个: 1. 收集dump文件。一旦电梯系统出现故障,就需要尽快收集相应的dump文件。 2. 阅读dump文件内容。使用特定的工具,如WinDbg,读取dump文件中的内容,包括错误代码、内存中的堆栈等。 3. 分析dump文件中的数据。分析dump文件中的数据可以帮助我们确定具体的故障原因,例如内存泄漏、死锁等。 4. 解决问题。根据分析结果进行解决问题的操作,可能需要对电梯系统进行升级、维护或更换硬件等。 总之,电梯卡dump数据分析是一种非常重要的技术,可以帮助工程师更好地定位问题并解决电梯系统中出现的故障。需要注意的是,对于非专业人员,dump数据分析需要更多的专业知识和技能,以便准确地进行分析

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值