barriers / 阅读 / 详情

如何手工抓取dump文件

2023-07-27 22:15:21
TAG: mp du 文件 dump
共1条回复
max笔记
* 回复内容中包含的链接未经审核,可能存在风险,暂不予完整展示!
在生产环境下进行故障诊断时,为了不终止正在运行的服务或应用程序,有两种方式可以对正在运行的服务或应用程序的进程进行分析和调试。
首先一种比较直观简洁的方式就是用WinDbg等调试器直接attach到需要调试的进程,调试完毕之后再detach即可。但是这种方式有个缺点就是执行debugger命令时必须先break这个进程,执行完debug命令之后又得赶紧F5让他继续运行,因为被你break住的时候意味着整个进程也已经被你挂起。另外也经常会由于First Chance Excetpion而自动break,你得时刻留意避免长时间break整个进程。所以这样的调试方式对时间是个很大的考验,往往没有充裕的时间来做仔细分析。
另一种方式则是在出现问题的时候,比如CPU持续长时间100%,内存突然暴涨等非正常情况下,通过对服务进程snapshot抓取一个dump文件,完成dump之后先deatch,让进程继续运行。然后用windbg等工具来分析这个抓取到的dump文件。
那么如何在不终止进程的情况下抓取dump文件呢?Debugging Tools for Windows里提供了一个非常好的工具,adplus.vbs。从名字可以看出,实际上是一个vb脚本,只是对cdb调试器作的一个包装脚本。
其路径与Debugging Tools for Windows的安装路径相同,使用的方法也很简单,如下所示:
adplus.vbs -hang -p 1234 -o d:/dump
其中-hang指明使用hang模式,亦即在进程运行过程中附加上去snapshot抓取一个dump文件,完成之后detach。与之对应的是-crash崩溃模式,用户先启动adplus,然后由它启动要监控的程序,在出现异常崩溃时自动生成dump文件,或者通过Ctrl-C人为发出抓取指令。但是-crash模式在抓取完成之后,被监控的进程就必须终止。因此我们在这里只选用-hang模式。
-p是要调试的进程ID,比如ASP.NET应用线程池,在Win2003下就是w3wp.exe
-o 指定要output的dump文件路径。
另外,与adplus类似的,有个UserDump工具,但是抓取用户模式的进程,而adplus则是内核模式和用户模式两者皆可。
而总所周至的Dr. Waston,则会在进程崩溃之后的自动时候抓取dump文件,一样可以用于windbg等调试器来事后分析程序崩溃时的状态。
====================
0:000> !dumpheap -stat
No export dumpheap found
======解决方法:
.load clr20/sos.dll,你要先执行的。sos.dll在默认的c:/windows/m*******.net/framework/v2.....下面,你复制到c:/program files/debugging tools for windows下面的clr20目录下面(clr20是你手工创建的)
=======================

在.NET下开发时,最基本的调试方法就是使用Visual Studio的单步调试。但是对于一些特殊情况,特别是涉及到CLR内部的时候使用这种方式就达不到目的了。
如果要查看运行时内存使用情况,IL代码,CLR信息等可以使用以下两种方式:
1、使用VS2005 + sos.dll
2、使用Windbg + sos.dll
第二种方式功能更加强大,下面我就通过实际操作展示一下怎么使用这种方法得到运行时ArrayList内部的值。
有人可能会说:我直接用Visual Studio的单步调试岂不是更快?当然,这个只是一个演示,通过这个演示是为以后的高级调试打下基础

在操作之前,先熟悉一下基本知识:
A、使用VS2005 + sos.dll调试
1、需要在项目->属性->调试-〉启用非托管代码调试
2、打开调试-〉窗口-〉即时
3、在即时窗口中输入 !load sos 加载调试模块
4、输入其它调试语句

B、使用Windbg + sos.dll
1、去微软的网站下载最新的Windbg
2、打开Windbg在File-〉Symbol File Path ...窗口中输入 srv*c:/symbols*http://msdl.m*******.com/download/symbols
3、运行需要调试的程序,然后在Windbg中File-〉Attach to Process中选择刚才运行的程序
4、在出现的Command窗口中就可以输入调试语句
5、常用调试语句:
lm //查看加载了哪些模块
.load C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/sos.dll //加载调试模块
ld TestClass //加载调试符号
!name2ee TestClass.exe TestClass.Program.test //显示test方法相关的地址
!dumpmt -md 00976d48 //得到类的成员函数详细信息
!dumpil 00973028 // 显示这个方法被编译器编译之后的IL代码
!dumpheap -stat //该命令显示程序中所有对象的统计信息,显示的大小是对象本身的大小,不包括对象里面值的大小
!dumpheap -mt 790fcb30 //该命令显示MethodTable 790fcb30的详细信息
!gcroot 012919b8 //来显示一个实例的所属关系
!dumpobj(do) 012a3904 //显示一个对象的具体内容,看对象里面有什么,值是什么
!ObjSize 012a1ba4 //对象实际在内存中的大小
!eeheap -gc //查看托管堆的情况(包括大小)
!DumpArray //查看数组信息
下面就来看看具体的调试步骤:
1、我们的测试代码

namespace TestClass
{
class Program
{
[STAThread]
static void Main(string[] args)
{
ArrayList list = new ArrayList();
list.Add("aaaa");
list.Add("bbbb");
Console.ReadLine();
}
}
}很简单,就是一个ArrayList

运行这个程序(开始执行,不调试),然后进入Windbg,Attach到这个进程

2、查看所有堆栈信息
0:004> !dumpheap -stat
MT Count TotalSize Class Name
7910062c 1 12 System.Security.Permissions.SecurityPermission
7918e284 1 16 System.IO.TextReader+SyncTextReader
79102d10 1 20 Microsoft.Win32.SafeHandles.SafeFileMappingHandle
79102cb4 1 20 Microsoft.Win32.SafeHandles.SafeViewOfFileHandle
79101d30 1 20 System.Text.InternalEncoderBestFitFallback
79100a7c 1 20 Microsoft.Win32.SafeHandles.SafeFileHandle
79105cd4 1 24 System.Collections.ArrayList
......
7912ad90 11 9036 System.Object[]
790fcb30 2083 131492 System.String
Total 2202 objects
除了我们的ArrayList外,还有很多其它的系统信息,先不用管它

3、查看我们的ArrayList的信息
0:004> !dumpheap -mt 79105cd4
Address MT Size
012a1b88 79105cd4 24
total 1 objects
Statistics:
MT Count TotalSize Class Name
79105cd4 1 24 System.Collections.ArrayList
Total 1 objects

4、查看对应地址内部实际的值
0:004> !do 012a1b88
Name: System.Collections.ArrayList
MethodTable: 79105cd4
EEClass: 79105c28
Size: 24(0x18) bytes
(C:/WINDOWS/assembly/GAC_32/mscorlib/2.0.0.0__b77a5c561934e089/mscorlib.dll)
Fields:
MT Field Offset Type VT Attr Value Name
7912ad90 40008df 4 System.Object[] 0 instance 012a1bb0 _items
791018e0 40008e0 c System.Int32 1 instance 2 _size
791018e0 40008e1 10 System.Int32 1 instance 2 _version
790fc35c 40008e2 8 System.Object 0 instance 00000000 _syncRoot
7912ad90 40008e3 1c0 System.Object[] 0 shared static emptyArray
>> Domain:Value 00149c58:012a1ba0 <<
可以看到ArrayList的大小为2,具体的值保存在地址012a1bb0中,是一个System.Object[]类型的数组

5、查看数组信息
0:004> !DumpArray 012a1bb0
Name: System.Object[]
MethodTable: 7912ad90
EEClass: 7912b304
Size: 32(0x20) bytes
Array: Rank 1, Number of elements 4, Type CLASS
Element Methodtable: 790fc35c
[0] 012a1b50
[1] 012a1b6c
[2] null
[3] null

6、查看数组内对象的值
0:004> !do 012a1b50
Name: System.String
MethodTable: 790fcb30
EEClass: 790fca90
Size: 26(0x1a) bytes
(C:/WINDOWS/assembly/GAC_32/mscorlib/2.0.0.0__b77a5c561934e089/mscorlib.dll)
String: aaaa
Fields:
MT Field Offset Type VT Attr Value Name
791018e0 4000096 4 System.Int32 1 instance 5 m_arrayLength
791018e0 4000097 8 System.Int32 1 instance 4 m_stringLength
790fe534 4000098 c System.Char 1 instance 61 m_firstChar
790fcb30 4000099 10 System.String 0 shared static Empty
>> Domain:Value 00149c58:790d81bc <<
7912b1d8 400009a 14 System.Char[] 0 shared static WhitespaceChars
>> Domain:Value 00149c58:012a16f0 <<
====================
windbg使用小总结
【抓dump】
1、一般抓法
adplus -hang -p 3230 -quiet 抓3230 pid进程,hang模式,相当于把那个进程暂停住,取内存快照
adplus -crash -pn w3wp -quiet 抓w3wp进程,crash模式,当那个进程崩溃结束的时候自动抓取当时的内存
adplus -hang -iis -quiet 抓IIS相关进程,包括其上host的web应用,以及iis自身
2、抓window服务
http://support.m*******.com/kb/824344/zh-cn
3、远程抓
http://blog.j*****.com/tingwang/archive/2006/08/11/79763.aspx
4、抓蓝屏和死机的dump
电脑无故重启或者蓝屏会在C:/WINDOWS/Minidump/下保存一个minidump,但是这个minidump可用的命令很少,一般只打!analyze –v看到是哪个进程引起的,还有相关的驱动模块就基本定位问题了。
5、IIS回收的时候抓
http://blog.y***.com/blog/omakey/archive/2006/12/17/1618015.html
6、计划任务抓
比如一个进程起来后不知道它什么时候会意外崩溃,可以在计划任务里用crash里抓,当那个进程意外终止的时候,cdb可以直接附加上去,抓取当时的dump,如果要抓一些会自动重启的进程,而且要抓每次重启前的dump,可以参考附录里一节。
【常用命令】
1、先path C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727,把.net路径设置为path环境变量,一遍在windbg里可以直接.load sos,而不必.load C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/sos.dll
2、ld demo,加载你程序的pdb文件,调试.net程序一般要把kernel32和mscorwks的符号加载上,关于这两个东西大家可以查资料,尤其是后者有哪些函数可以多了解一些。
3、在windbg的file/symbol file path对话框里输入以下文字,以便自动加载和下载符号
C:/WINDOWS/Symbols;d:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/symbols;.sympath SRV*d:/localsymbols*http://msdl.m*******.com/download/symbols
其中有windows、.net2.0和自动从网上下载的调试符号,注意根据自己的情况适当修改目录
【调试死锁】
1、!syncblk,查看哪些线程拿到了锁
2、~67e!clrstack 跳到某个拿到锁的线程看它正在干什么操作,迟迟不肯释放锁
3、!runaway 查看这个占有锁的线程运行了多长时间。
4、~*e!clrstack查看所有线程的托管堆栈,看看哪些是正在等待锁的,比如hang在System.Threading.Monitor.Enter(System.Object)
5、~136s选择该线程,显示如下
0:000> ~136s eax=00005763 ebx=08deeb5c ecx=03eff0d4 edx=5570ab69 esi=08deeb5c edi=7ffd6000 eip=7c95ed54 esp=08deeb10 ebp=08deebb8 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: 7c95ed54 c3 ret
找到ecx寄存器的值,复制后ctrl+f,向上查找,会找到!syncblk的地方,如下
0:000> !syncblk Index SyncBlock MonitorHeld Recursion Owning Thread Info SyncBlock Owner 1906 03ee4be4 5 1 03ee8f88 22c8 67 185e2ef0 System.Object 5390 052ca39c 3 1 05292b30 1dd4 49 1060d3ac System.Object 9372 0530702c 15 1 0012d3a8 1aa8 80 185e7704 System.Object 11428 03eff0d4 35 1 053b8fa8 169c 120 166acd98 System.Object 15278 0531c6b4 61 1 06bc1430 26d8 86 1a5bea88 System.Object
可以看到136线程等待的锁被120号线程占着不放(格式有点乱,凑合看),
6、有时候通过ecx寄存器找锁不是很确定,可以用~* kb来把所有线程堆栈打出来,然后根据!syncblk出来的同步快的值去搜索大概有多少个线程在等那个锁。因为同样是等待锁,可等的状态不一样,有的在Q里,有的锁已经升级,有的去尝试去拿锁了,所以不一定当时ecx寄存器指向那块内存,具体如何找到某个正在等待锁的线程等待的锁的内存地址,以及它正等待的这个锁被哪个线程拿着,我还没琢磨出规律来,但一般情况下,如果有其它同步对象的话,更难查。.net里用我上面说的几步就能查出锁的问题了。

【内存泄漏】
1、!dumpheap -stat看看哪些对象个数最多,占内存最大,
2、找到某个格式比较多的对象,可以看它的方法表,然后用!dumpheap -mt 66398fa4去随机找几个对象的地址
3、用!do 1e5a22bc命令去查看几个对象的状态,属性的值等,看看正常不正常
4、用!gcroot -nostacks 1e5a22bc去查看几个对象的根正常不正常,如果有些对象的根不是自己预先设计的那样,很可能被自己没想到的对象强引用了,所以GC无法回收它,就泄漏了。
【CPU百分百】
主要用几个计数器和!runaway命令,具体见以下链接
http://w*.cnb***.com/onlytianc ... 7/06/03/769307.html
【线程池耗尽】
!threadpool 能看到完成端口,线程池工作线程和timer回调各占线程池的情况。
【其它】
1、!eestack -short -ee查看所有重要(获取锁的,托管的,停止并允许回收的)线程的dumpstack,差不多相当于~*e!dumpstack
2、.time 可以看到进程跑了多少时间
3、!dso 查看当前线程里有哪些对象,分析内存泄漏问题也许会用到

相关推荐

dump是什么

dump[dQmp]vt.倾倒(垃圾), 倾卸n.堆存处dump[dQmp]n.垃圾堆; 煤堆; (仓)库房, 堆栈排空孔, 放空孔切断电流倾翻器, 翻车机[pl. ]废物[美俚]破陋不洁的房屋[场所, 街道]砰[轰]的一声(计算机)清除; 信息转储;【自】打印dump[dQmp]vt.倾倒(垃圾); 抛弃(废物、候选人等)倾销解雇; 解除(合同等)砰地放下(down)转嫁(责任等); [美俚]故意输掉(比赛)(计算机)转录, 转储; (信息出错后)大量倾出;【自】打印dump sth. on the heap把某物抛在堆上dump goods into other countries向别国倾销商品dump[dQmp]vi.倒垃圾倾销商品卸货[料]砰地落下来, 突然下降 dump on 诋毁, 诽谤abnormal dump异常转储air field dump飞机场燃料堆栈alternating-current dump【电子】交流清除ammunition dump临时军火供应站automatic dump自动卸料back dump倒流beach head dump滩头堆栈beam dump束流收集器beet dump甜菜堆站bottom dump活底卸料can dump奶罐倾翻器; 翻冰模装置change dump信息更换; 信息转储core dump存储器清除; 存储器内容更新; 主存储器(全部, 部分)信息转储data dump数据转储differential dump微分转储direct-current dump【电子】直流清除disaster dump【计】灾害转储, 灾害印出; 灾害切断电源; 故障停机drum dump磁鼓(信息)读出[印出]; 磁鼓信息转储dynamic dump动态(信息)转储; 动态打印emergency load dump事故甩负荷file dump文件转储filled can dump油桶堆栈forward dump前卸式料车garbage dump垃圾堆high speed dump快速转储ice mould dump倒冰模装置incremental dump增量转储lumber dump贮木场memory dump(存储器)信息转储; (存储器)清除打印open dump露天垃圾场petrol dump汽油站post-mortem dump算后检查转储, 算后检查打印, 停机后输出power dump切断电源, 切断功率供给programmed dump【自】程序控制转储reject dump废料坑rescue dump拯救性(信息)转储roll-over dump翻斗撒砂(壳型铸造机)rubbish dump垃圾堆selective dump选择转储side dump侧卸(式)snapshot dump (=snapshot)抽点打印static dump静电打印, 静态转储stock dump贮料堆storage dump存储器信息转储, (存储器内容)打印straw dump茎稿倾卸器, 带倾卸器的茎稿收集车, 集稿车tape dump带内容转移, 带转储waste dump废料堆 我不明白你为什么不自己查辞典?自己动手会影响深刻!
2023-07-26 08:20:063

dump 什么意思

百度-词典搜索。或:http://study.hongen.com
2023-07-26 08:20:425

dump有哪些意思?

dumpv.倾倒;抛售;抛弃;转存n.垃圾场;转储;转存;废物堆dump ~ sth :(在不合适的地方)丢弃,扔掉,倾倒dump ~ sb/sth (on sb) : 丢下;抛弃;断绝关系
2023-07-26 08:20:581

dump在计算机中的意义

在计算机中,dump的主要作用是转储,一般指将数据导出、转存成文件或静态形式,即将动态(易失)的数据,保存为静态的数据(持久数据)。dump文件又叫内存转储文件或者叫内存快照文件,是进程的内存镜像,是一个进程或系统在某一给定的时间的快照,比如在进程崩溃时或则进程有其他问题时,甚至是任何时候,我们都可以通过工具将系统或某进程的内存备份出来供调试分析用。dump文件中包含了程序运行的模块信息、线程信息、堆栈调用信息、异常信息等数据。dump文件是用来给驱动程序编写人员调试驱动程序用的,这种文件必须用专用工具软件打开,比如使用WinDbg打开。当编写的程序发布出去之后,被人是无法跟踪代码的,所以dump文件对于程序员来说特别重要。Dump文件的使用场景1、应用程序发布出去,在客户机上线出了问题(崩溃、失去响应、资源消耗过高,性能不理想),由于这些问题不是发生在开发环境下的,这时就需要在客户机上想办法抓取dmp文件,拿回来进行分析。总之,Dump文件对编程人员,特别是Windows系统上进行C++开发应用的开发人员,进行问题定位非常有帮助。2、windows系统自己出了问题,比如蓝屏了,这时系统会自动产生dump文件,被微软收集分析。
2023-07-26 08:21:061

dump和reverse

1、dump作为及物动词,有倾到,倾销,丢下,卸下,摆脱,扔弃的意思。2、不及物动词的意思是突然跌倒或落下,卸货,转嫁(责任等)的意思。3、作为名词是垃圾场,仓库,无秩序地累积的意思。4、reverse的过去式:reversed,过去分词:reversed,现在分词:reversing,复数形式:reverses。5、reverse基本解释:及物/不及物动词(使)反转。(使)颠倒。掉换,交换。6、[法]撤消,推翻。7、不及物动词倒退。[桥牌]逆叫。8、形容词反面的。颠倒的。倒开的。[生]倒卷的。9、名词倒转,反向。[机]回动。倒退。失败.
2023-07-26 08:21:231

dump什么意思?

简介:dmp是Windows蓝屏瞬间建立的文件的后缀名,dmp文件是进程的内存镜像,计算机上称为dump文件。在Windbg中可以通过.dump命令保存进程的dmp文件。命令为:.dump/mac: estdump.dmp使用了/ma参数的命令保存下来的dump文件应该包含进程的完整信息,包括整个用户态的内存,信息量全面,文件尺寸也相应的比较大。如果不使用/ma参数,保存下来的dump文件只包含了部分重要资料,比如寄存器和线程栈空间,文件尺寸会比较小,无法分析所有的数据。作用:可以把程序的执行状态通过调试器保存到dump文件中。Dump文件是用来给驱动程序编写人员调试驱动程序用的。打开方法:这种文件必须用专用工具软件打开,比如使用WinDbg打开。
2023-07-26 08:21:491

dump文件怎么打开?

操作方法:需要在电脑端安装DebuggingTools,安装后打开DebuggingToolsforWindows文件夹,点击WinDbg,运行软件,点击File,选择“OpenCrashDump”,选择需要打开的dump文件,点击“Yes”即可打开文件。电脑使用技巧:1、在win10系统上,用户可以在一台电脑上打开多个桌面,打开电脑,点击桌面左下角的任务视图按钮,之后点击新建桌面,根据页面提示操作即可。2、电脑系统盘存储空间不足,可以清理磁盘,在win10系统下,右键单击桌面左下角的窗口标志,点击“磁盘管理”,根据提示清理即可。3、电脑系统设置页面打不开,可以进行修复,在win10系统下打开电脑的控制面板,选择“系统与安全”,点击“检查计算机状态并维护”,之后等待维护即可。资料拓展:Windows10ProforWorkstations包括了许多普通版Win10Pro没有的内容,着重优化了多核处理以及大文件处理,面向大企业用户以及真正的“专业”用户,如6TB内存、ReFS文件系统、高速文件共享和工作站模式。更多关于dump文件怎么打开,进入:https://m.abcgonglue.com/ask/60c4b91615840378.html?zd查看更多内容
2023-07-26 08:21:571

如何生成Dump 文件

1.进到 Control Panel --> System --> Advanced --> Startup/Recovery,请选complete memory dump并选中System Failure下的所有选项。请记住memory.dmp文件存放的位置,默认情况下此文件存放在%systemroot%下。请确认memory.dmp文件的存放路径下有足够的空间,即剩余空间大于等于物理内存的大小。如果默认目录下没有足够的空间,请把路径指定到有足够空间的分区的根目录下。2. 进到Control Panel --> System --> Advanced --> Performance Options --> Change。请确定pagefile是放在%systemroot%分区的。pagefile的大小需设置成比物理内存大,如,机器内存为1G,可以把pagefile文件的大小设成1100M。如果系统提示要重新启动服务器,请暂时不要重启。3. 添加注册表键值: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesi8042prtParametersValue Name: CrashOnCtrlScrollData Type: REG_DWORDValue: 14. 重启计算机使设置生效。5. 在问题再次发生时按住键盘右边的Ctrl键不放,再按两次ScrollLock键。如果设置正确,机器会立刻进入蓝屏,并开始将内存快照写入页面文件。您可以看到其完成进度。待其完成后,机器将会自动重启,并在重启后产生一个内存转储文件在 c:windowsmemory.dmp。6. 对于某些笔记本没有右Ctrl键,可以通过导入附件的注册表文件来实现由左Ctrl操作产生Dump文件。
2023-07-26 08:22:041

如何手动产生windows系统的完全内存dump

Windbg生成dump文件的方法: 程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件。 步骤: 1) 打开WinDBG并将之Attach 到crash的程序进程 2) 输入产生dump 文件的命令 WinDBG产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件。 选项(1): /m 命令行示例:.dump /m C:dumpsmyapp.dmp 注解: 缺省选项,生成标准的minidump, 转储文件通常较小,便于在网络上通过邮件或其他方式传输。 这种文件的信息量较少,只包含系统信息、加载的模块(DLL)信息、 进程信息和线程信息。 选项(2): /ma 命令行示例:.dump /ma C:dumpsmyapp.dmp 注解: 带有尽量多选项的minidump(包括完整的内存内容、句柄、未加载的模块,等等),文件很大,但如果条件允许(本机调试,局域网环境), 推荐使用这中dump。 选项(3):/mFhutwd 命令行示例:.dump /mFhutwd C:dumpsmyapp.dmp 注解:带有数据段、非共享的读/写内存页和其他有用的信息的minidump。包含了通过minidump能够得到的最多的信息。是一种折中方案 那怎么自动生成dump文件呢,比如对方的电脑没有windbg,这里用到一个window系统自带工具,Dr.Watson 运行方式很简单: 直接run-输入drwtsn32 -i就可以了,会提示这样的: 这个命令真难记,实话,记华生医生吧,福尔摩斯中的 如果有程序崩溃,会自动生成dump,这时再输入drwtsn32就会运行这个程序: 找到对应路径的DMP文件就行了,一般放在如下路径: C:Documents and SettingsAll UsersApplication DataMicrosoftDr Watson 以下实例来自AWD 代码: Copyright (c) Advanced Windows Debugging (ISBN 0321374460) from Addison-Wesley Professional. All rights reserved. THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. --*/ #include "stdafx.h" #include <windows.h> #include <stdio.h> #include <conio.h> VOID SimulateMemoryCorruption ( ) ; class CAppInfo { public: CAppInfo(LPWSTR wszAppName, LPWSTR wszVersion) { m_wszAppName=wszAppName; m_wszVersion=wszVersion; } VOID PrintAppInfo() { wprintf(L" Full application Name: %s ", m_wszAppName); wprintf(L"Version: %s ", m_wszVersion); } private: LPWSTR m_wszAppName ; LPWSTR m_wszVersion ; } ; CAppInfo* g_AppInfo ; int __cdecl wmain (int argc, WCHAR* args[]) { wint_t iChar = 0 ; g_AppInfo = new CAppInfo(L"Memory Corruption Sample", L"1.0" ); if(!g_AppInfo) { return 1; } wprintf(L"Press: "); wprintf(L" 1 To display application information "); wprintf(L" 2 To simulated memory corruption "); wprintf(L" 3 To exit >"); while((iChar=_getwche())!="3") { switch(iChar) { case "1": g_AppInfo->PrintAppInfo(); break; case "2": SimulateMemoryCorruption(); wprintf(L" Memory Corruption completed "); break; default: wprintf(L" Invalid option "); } wprintf(L" > "); } return 0; } VOID SimulateMemoryCorruption ( ) { char* pszWrite="Corrupt"; BYTE* p=(BYTE*) g_AppInfo; CopyMemory(p, pszWrite, strlen(pszWrite)); }
2023-07-26 08:22:131

如何使用Windbg分析崩溃dump

调试Dump文件很简单,双击自动打开VC然后F7运行。但是中间要注意很多事情。1。Dump文件放在哪里Dump文件不用非要放在你编译出来的位置,你完全可以建立一个新的文件夹来放它。2。要恢复当时的现场可能你要问,怎么可能,这个dump文件可是用户发给我的,我不可能去用户家里调试吧?这个恢复现场可不是指的非要到那台机器上去,而是要把产生dump文件对应的二进制文件拿到。但是恢复现场需要所有的二进制文件都要对应,你一定要有导致用户崩溃的那些Exe和Dll。既然是你发布的程序,Exe文件当然你会有。所以这里只考虑Dll就行了。Dump文件中记录了所有dll文件的版本号和时间戳,所以你一定可以同过某种途径拿到它。如果你能从用户那里拿到最好,如果不方便,用户不可能用的是我们平常不常用的操作系统,所以找个有对应系统的机器一般都会有。但是记住不光是文件名称要一致,还要核对版本和时间戳,如果不同一样没有办法用。
2023-07-26 08:22:223

dump备份是什么意思

DUMP备份DUMP的意思就是:『电脑』将内储资料直接传送的结果而DUMP备份通常是除了数据本身外,还会把相关的底层程序也同时备份,是一种比较全面的备份方式。
2023-07-26 08:23:121

门禁卡dump文件怎么打开

使用专门的文件工具打开。dump文件属于加密文件,可以使用DebuggingTools这个文件专用工具来打开,首先安装工具,然后找到DebuggingToolsforWindows(x86)文件夹,再找到WinDbg打开,点击File中的OpenCrashDump,打开后选择DMP文件,在弹窗点击yes。就可以打开了。Dump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到dump文件中。
2023-07-26 08:23:191

Linux dump命令

文件备份命令:完整备份 dump -0u增量备份dump -xu (x代表0-9)更详细的就man dump一下
2023-07-26 08:23:293

电脑蓝屏出现crash dump 是怎么回事?应该怎么做?

重启,按住F8键,出现开机菜单时,选择,最后一次正确设置,回车试试,或进入安全模式进入后杀毒、360扫描完毕重启,解决不了就重装系统
2023-07-26 08:23:505

C语言中dump指什么

我还以为是说堆栈转储呢!
2023-07-26 08:24:284

如何生成Dump 文件

java dump heap 配给实例类数组象运行数据区所java线程运行期间共享heap数据Java heap dump相于java应用运行候某间点打快照(snapshot)java dump文件式:1.使用$JAVA_HOME/bin/jmap -dump触发eg:jmap -dump:format=b,file=/home/longhao/heamdump.out2.使用$JAVA_HOME/bin/jcosoleMBeanMBean>com.sun.management>HotSpotDiagnostic>操作>dumpHeap点击 dumpHeap按钮dump文件java应用根目录面3.应用启配置相关参数 -XX:+HeapDumpOnOutOfMemoryError应用抛OutOfMemoryErrordump文件4.使用hprof启虚拟机加入-Xrunhprof:head=sitejava.hprof.txt文件该配置导致jvm运行非慢适合产环境
2023-07-26 08:24:361

日积月累记单词—dump

今天来学一个长得很人畜无害但是意思很多的词—dump。《牛津高阶英汉双解词典(第7版)》从632页到623页,用了差不多整两个半页来解释这个词。在句子中,它可以做动词,也可以作名词。大概意思归纳起来有几个,作为动词,意思是“丢掉;推卸责任;抛售;随便乱放;甩掉(某人);内存信息转存”作为名词,意思是“垃圾;脏的地方;武器;转储数据;粪便” Vera觉得讲这个词好像一直在骂人啊,那来看例句吧:小伙伴们看把dump这个词dump进下面这个句子,指的是什么意思?That does not mean dumping computers on schools in the hope that children will understand how to use them。 在这个句子里,dump指的是“随便乱放”,那整句话就可以理解成“这并不意味着把电脑堆放在学校里,希望孩子们自己知道如何使用它们。”小伙伴们猜出来了吗? 因为dump长得太大众脸了,所以它有个亲戚dumb就经常跳出来混淆大家视听,“b”、“p”之差,意思就差了好几个rubbish dump (垃圾场)了,dumb本意是哑的,另外一个意思是蠢的,所以,小伙伴们不要“dump”“dumb”不分哦,要不然你就会变成dumb dumb(小傻瓜)了~
2023-07-26 08:24:501

如何生成Dump 文件

WAS6.1中,在使用IBM JDK的平台上,可以直接使用以下的方法,随时生成所需的heapdump文件。如果在性能诊断顾问程序配置里面选中了"启用自动堆转储收集,则可以自动在WebSphere profile所在的路径下(例如/opt/IBM/WebSphere/WAS6.1/profiles/AppSrv01)生成heapdump文件,备用户进行分析。在使用IBM SDK的平台上,例如AIX, Linux和Windows,在启用了性能诊断顾问工具后,如果探测到有内存泄漏发生,WebSphere会自动生成两个heapdump文件,供后续分析使用。我们在任何时候,可以随时手动生成所需的heap dump文件。在WAS6.1 profile的bin目录下,首先运行wsadmin 脚本客户端,然后可以调用generateHeapDump操作来完成。关键步骤:1. 找到JVM对象名字。 set objectNameWebSphere:type=JVM,process=,node=,*]2. 对JVM MBean调用generateHeapDump操作。 $AdminControl invoke $objectName generateHeapDump例如:[root@csspvm bin]# pwd/opt/IBM/WebSphere/WAS6.1/profiles/AppSrv01/bin[root@csspvm bin]# ./wsadmin.sh -username root -password demo4youWASX7209I: Connected to process "server1" on node csspvmNode02 using SOAPconnector; The type of process is: UnManagedProcessWASX8011W: AdminTask object is not available.WASX7029I: For help, enter: "$Help help"wsadmin>set objectName [$AdminControl queryNamesWebSphere:type=JVM,process=server1, node=csspvmNode02,*]WebSphere:name=JVM,process=server1,platform=proxy,node=csspvmNode02,j2eeType=JVM,J2EEServer=server1,version=6.1.0.0,type=JVM,mbeanIdentifier=JVM,cell=csspvmNode02Cell,spec=1.0wsadmin>$AdminControl invoke $ objectName generateHeapDump/opt/IBM/WebSphere/WAS6.1/profiles/AppSrv01/./heapdump.20060904.075650.3576.phdwsadmin>quit理想情况下,在探测到问题时,尽快生成一个初始的heap dump,然后密切监控内存使用情况,等到泄漏了足够的内存的时候,再生成另外一个heap dump,这样可以对比分析以更准确地找到泄漏的原因。注: 生成HeapDump文件的过程是比较耗资源的,所以请只在必须的时候做这样的操作。
2023-07-26 08:24:581

dump文件可以删除么

dump文件可以删除。dump文件一般是程序或者系统用于缓存内存内容的临时文件,如果不需要,是可以删除的。Dump文件是用来给驱动程序编写人员调试驱动程序用的,这种文件必须用专用工具软件打开,比如WinDbg。 演示机型:华为MateBook X 系统版本:win10 APP版本:WinDbg v6.12.2 dump文件可以删除。dump文件一般是程序或者系统用于缓存内存内容的临时文件,如果不需要,是可以删除的。Dump文件是用来给驱动程序编写人员调试驱动程序用的,这种文件必须用专用工具软件打开,比如WinDbg。
2023-07-26 08:25:071

手机相册dump是什么意思

意思是相册中的多余无用垃圾,dump是垃圾的意思。
2023-07-26 08:25:201

dump 在俚语中是什么意思??

2023-07-26 08:25:282

如何分析dump文件

1、 打开Dump格式文件打开WinDbg,通过菜单[File] à [Open Crash dump] 选择dump文件打开,也可通过CMD打开Dos命令窗口,切换到WinDbg所在目录,利用命令:WinDbg –z “D:/Lines2009-7-25-22-20-33-900.dmp”-z表示路径图1.1 利用WinDbg打开dump文件本文编写了一个简单能产生除数为0异常的程序,让其运行,产生崩溃,通过drwtsn产生dmp文件,然后通过windbg分析dmp文件,定位程序bug。目的:学习windbg基本功能使用。程序源代码:void Crash(void){ int i = 1; int j = 0; i /= j; }void main(void){ Crash();}编译环境:vc++6.0编译器设置:这一步设置,要求对release版本不使用优化,如果使用优化,上面源代码中Crash(void)函数将不被汇编。这一步设置,产生release版本的调试符号表,为后续定位错误准备。
2023-07-26 08:25:371

车机音频dump是什么

车机音频dump是指将车载音频的数据从车载娱乐系统中读取出来并保存到本地存储设备的过程。这个过程通常需要使用一些专门的工具和软件,比如说车载音频解码器或USB接口等。
2023-07-26 08:26:011

电脑c盘出一堆dump文件怎么办?

是不是使用微信pc端,语音通话时才会自动生成*.dump 文件?
2023-07-26 08:26:118

内存dump文件导出与查看

生成dump文件的命令: jmap -dump:format=b,file=20170307.dump 16048 file后面的是自定义的文件名,最后的数字是进程的pid 使用jvisualvm来分析dump文件: jvisualvm是JDK自带的Java性能分析工具,在JDK的bin目录下,文件名就叫jvisualvm.exe。 jvisualvm可以监控本地、远程的java进程,实时查看进程的cpu、堆、线程等参数,对java进程生成dump文件,并对dump文件进行分析。 像我这种从服务器上dump下来文件也可以直接扔给jvisualvm来分析。 使用方式:直接双击打开jvisualvm.exe,点击文件->装入,在文件类型那一栏选择堆,选择要分析的dump文件,打开。
2023-07-26 08:26:261

dump 做动词是倒垃圾的意思吗?

是抛弃 倾销的意思
2023-07-26 08:26:356

win7蓝屏 dump文件分析

蓝屏的原因也有很多看你的情况可能是电脑超负荷运转或者是软件冲突这类不过要知道详细的情况要看蓝屏时的dump文件,dump文件存放在C:WindowsMinidump文件夹中,要复制出来并且用软件读取才可以知道详细问题所在要得到dump文件就需要在我的电脑-属性-高级-启动和故障恢复-设置-写入调试信息-小内存转储(64kb)-确定这样下次如果蓝屏的话系统会记录下蓝屏原因信息,然后才可以使用软件看故障原因 最后一句看出dxgmmsl.sys是导致蓝屏的原因,不过这个驱动文件不多见,要Google才在英文网页看见这个驱动,那样可能不是CCTV网络直播的问题,你看看你下载的那个补丁是不是微软发行的或者能不能与你的系统兼容,不然就可能导致系统出问题。你先找出那天安装的补丁删除/卸载,然后在C:WINDOWSsystem32dirvers文件夹中找到dxgmmsl.sys,强制删除后重启。这样就应该可以解决问题了楼上的那个用了一大堆乱七八糟的双引号,还不知道说什么
2023-07-26 08:26:514

dump 在英语中的意思和口语的用法

“to end a romantic relationship with sb"eg. Did you hear he"s dumped his girlfriend?
2023-07-26 08:27:053

mysql中的dump命令用法

mysqldump -uc -pd -R db_temp > /db_temp.txtu--用户名p--密码R--导出存储过程(默认不导出)
2023-07-26 08:27:132

win7程序崩溃dump文件位置

您好,dump文件默认保存位置在C:Windows目录下,MEMORY.DMP文件就是了!解决方法如下:第一步、对着桌面计算机图标,点击鼠标右键,菜单中选择“属性”第二步、在系统界面左侧,控制面板主页下面找到并点击“高级系统设置”第三步、在“系统属性”对话框“高级”选项卡下,找到并点击“启动和故障恢复”选项里面的“设置”按钮第四步、在“启动和故障恢复”对话框,找到并点击“写入调试信息”下面“核心内存转储”后面的向下箭头,点击选择“小内存转储”后,确定退出,下次再次出现蓝屏状况时,minidump文件就能被保存下来了!
2023-07-26 08:27:221

怎么分析打开后缀为 .dump 的数据库文件

应该是PostgreSQL数据库的备份文件。数据库的导入导出是最常用的功能之一,每种数据库都提供有这方面的工具,PostgreSQL提供的对应工具为pg_dump和pg_restore。pg_dump是用于备份PostgreSQL数据库的工具。它可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问。转储格式可以是一个脚本或者归档文件。归档文件格式必须和pg_restore一起使用重建数据库。X:>pg_dump -U postgres -Fc TestDb1 >TestDb1.dumpX:>pg_restore -U postgres -d TestDb2 TestDb1.dump
2023-07-26 08:27:391

dump什么意思

n. 垃圾场vt. 倾倒;倾卸vi. 倒垃圾
2023-07-26 08:28:212

dump是什么意思啊……

dump1KK:[]DJ:[]vt.1.倾倒;抛弃Hewenttodumpthegarbage.他去倒垃圾。2.倾销,抛售Theydumptheirsurplusproductiononforeigncountries.他们向外国倾销剩余产品。3.猛地扔下;沉重地放下[O]Thetruckdumpeditsloadofsandonthedriveway.卡车将沙子卸在车道上。4.【电脑】转储5.【美】【俚】故意输掉(比赛)vi.1.倒垃圾You"llbefinedifyoudumphere.在这儿倒垃圾要被罚款的。2.倾销商品3.砰地落下n.[C]1.垃圾场Thisfurnitureisaboutreadyforthedump.这家具破烂不堪快要送垃圾场了。2.脏乱的地方;下流场所3.(军需品)临时堆积处dump2KK:[]DJ:[]n.1.【口】忧郁,沮丧[P]希望采纳
2023-07-26 08:28:301

dump 是什么意思?

(1) 在特定时刻,将整个储存装置或储存装置之某部分的内容记录在另一储存装置中。倾出的目的通常是为了除错。 (2) 将具备可读格式的数据从主要或辅助储存体复制至外部媒体,如磁带、磁盘或打印机等媒体。 (3) 为收集错误信息而复制整个虚拟储存体或虚拟储存体之某部分的内容。   linux dump  功能说明:备份文件系统。  语 法:dump [-cnu][-0123456789][-b <区块大小>][-B <区块数目>][-d <密度>][-f <设备名称>][-h <层级>][-s <磁带长度>][-T <日期>][目录或文件系统] 或 dump [-wW]  补充说明:dump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。  参 数:  -0123456789 备份的层级。   -b<区块大小> 指定区块的大小,单位为KB。   -B<区块数目> 指定备份卷册的区块数目。   -c 修改备份磁带预设的密度与容量。   -d<密度> 设置磁带的密度。单位为BPI。   -f<设备名称> 指定备份设备。   -h<层级> 当备份层级等于或大雨指定的层级时,将不备份用户标示为"nodump"的文件。   -n 当备份工作需要管理员介入时,向所有"operator"群组中的使用者发出通知。   -s<磁带长度> 备份磁带的长度,单位为英尺。   -T<日期> 指定开始备份的时间与日期。   -u 备份完毕后,在/etc/dumpdates中记录备份的文件系统,层级,日期与时间等。   -w 与-W类似,但仅显示需要备份的文件。   -W 显示需要备份的文件及其最后一次备份的层级,时间与日期。  说明:在这个例子中,系统中有两个文件系统。一个用于 /boot,另一个用于 / ,这是常见的配置。它们必须在执行备份时单独地引用。 /dev/nst0 引用第一个 SCSI 磁带驱动器,不过是以非重绕的模式引用。这样确保各个卷在磁带上一个接一个地排列。dump 的一个有趣特性是其内置的增量备份功能。在上面的例子中,0 表示 0 级或基本级备份。这是完全系统备份,您要定期执行以保存整个系统。对于后续的备份,您可以使用其他数字(1-9)来代替 0,以改变备份级别。1 级备份会保存自从执行 0 级备份以来更改过的所有文件。2 级备份会保存自从执行 1 级备份以来更改过的所有文件,以此类推。使用 tar 和脚本可以执行相同的功能,但要求脚本创建人员提供一种机制来确定上次备份是何时执行的。dump 具有它自己的机制,即它在执行备份时会输出一个更新文件(/etc/dumpupdates)。这个更新文件将在每次执行 0 级备份时被重设。后续级别的备份会保留它们的标记,直至执行另一次 0 级备份。如果您在执行基于磁带的备份,dump 会自动跟踪多个卷。
2023-07-26 08:28:411

dump文件是什么意思啊?

简介:dmp是Windows蓝屏瞬间建立的文件的后缀名,dmp文件是进程的内存镜像,计算机上称为dump文件。在Windbg中可以通过.dump命令保存进程的dmp文件。命令为:.dump/mac: estdump.dmp使用了/ma参数的命令保存下来的dump文件应该包含进程的完整信息,包括整个用户态的内存,信息量全面,文件尺寸也相应的比较大。如果不使用/ma参数,保存下来的dump文件只包含了部分重要资料,比如寄存器和线程栈空间,文件尺寸会比较小,无法分析所有的数据。作用:可以把程序的执行状态通过调试器保存到dump文件中。Dump文件是用来给驱动程序编写人员调试驱动程序用的。打开方法:这种文件必须用专用工具软件打开,比如使用WinDbg打开。
2023-07-26 08:28:491

请问dump文件怎么打开

操作方法:需要在电脑端安装DebuggingTools,安装后打开DebuggingToolsforWindows文件夹,点击WinDbg,运行软件,点击File,选择“OpenCrashDump”,选择需要打开的dump文件,点击“Yes”即可打开文件。电脑使用技巧:1、在win10系统上,用户可以在一台电脑上打开多个桌面,打开电脑,点击桌面左下角的任务视图按钮,之后点击新建桌面,根据页面提示操作即可。2、电脑系统盘存储空间不足,可以清理磁盘,在win10系统下,右键单击桌面左下角的窗口标志,点击“磁盘管理”,根据提示清理即可。3、电脑系统设置页面打不开,可以进行修复,在win10系统下打开电脑的控制面板,选择“系统与安全”,点击“检查计算机状态并维护”,之后等待维护即可。资料拓展:Windows10ProforWorkstations包括了许多普通版Win10Pro没有的内容,着重优化了多核处理以及大文件处理,面向大企业用户以及真正的“专业”用户,如6TB内存、ReFS文件系统、高速文件共享和工作站模式。更多关于dump文件怎么打开,进入:https://m.abcgonglue.com/ask/60c4b91615840378.html?zd查看更多内容
2023-07-26 08:29:091

如何生成Dump 文件

1. 进到 Control Panel --> System --> Advanced --> Startup/Recovery,请选complete memory dump并选中System Failure下的所有选项。请记住memory.dmp文件存放的位置,默认情况下此文件存放在%systemroot%下。请确认memory.dmp文件的存放路径下有足够的空间,即剩余空间大于等于物理内存的大小。如果默认目录下没有足够的空间,请把路径指定到有足够空间的分区的根目录下。 2. 进到Control Panel --> System --> Advanced --> Performance Options --> Change。请确定pagefile是放在%systemroot%分区的。pagefile的大小需设置成比物理内存大,如,机器内存为1G,可以把pagefile文件的大小设成1100M。如果系统提示要重新启动服务器,请暂时不要重启。3. 添加注册表键值: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesi8042prtParametersValue Name: CrashOnCtrlScrollData Type: REG_DWORDValue: 1 4. 重启计算机使设置生效。5. 在问题再次发生时按住键盘右边的Ctrl键不放,再按两次ScrollLock键。如果设置正确,机器会立刻进入蓝屏,并开始将内存快照写入页面文件。您可以看到其完成进度。待其完成后,机器将会自动重启,并在重启后产生一个内存转储文件在 c:windowsmemory.dmp。6. 对于某些笔记本没有右Ctrl键,可以通过导入附件的注册表文件来实现由左Ctrl操作产生Dump文件。
2023-07-26 08:29:161

dump文件怎么打开

  操作方法:需要在电脑端安装DebuggingTools,安装后打开DebuggingToolsforWindows文件夹,点击WinDbg,运行软件,点击File,选择“OpenCrashDump”,选择需要打开的dump文件,点击“Yes”即可打开文件。   电脑使用技巧:1、在win10系统上,用户可以在一台电脑上打开多个桌面,打开电脑,点击桌面左下角的任务视图按钮,之后点击新建桌面,根据页面提示操作即可。   2、电脑系统盘存储空间不足,可以清理磁盘,在win10系统下,右键单击桌面左下角的窗口标志,点击“磁盘管理”,根据提示清理即可。   3、电脑系统设置页面打不开,可以进行修复,在win10系统下打开电脑的控制面板,选择“系统与安全”,点击“检查计算机状态并维护”,之后等待维护即可。   资料拓展:Windows10ProforWorkstations包括了许多普通版Win10Pro没有的内容,着重优化了多核处理以及大文件处理,面向大企业用户以及真正的“专业”用户,如6TB内存、ReFS文件系统、高速文件共享和工作站模式。
2023-07-26 08:29:241

如何生成Dump 文件

1. 进到 Control Panel --> System --> Advanced --> Startup/Recovery,请选complete memory dump并选中System Failure下的所有选项。请记住memory.dmp文件存放的位置,默认情况下此文件存放在%systemroot%下。请确认memory.dmp文件的存放路径下有足够的空间,即剩余空间大于等于物理内存的大小。如果默认目录下没有足够的空间,请把路径指定到有足够空间的分区的根目录下。 2. 进到Control Panel --> System --> Advanced --> Performance Options --> Change。请确定pagefile是放在%systemroot%分区的。pagefile的大小需设置成比物理内存大,如,机器内存为1G,可以把pagefile文件的大小设成1100M。如果系统提示要重新启动服务器,请暂时不要重启。3. 添加注册表键值: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesi8042prtParametersValue Name: CrashOnCtrlScrollData Type: REG_DWORDValue: 1 4. 重启计算机使设置生效。5. 在问题再次发生时按住键盘右边的Ctrl键不放,再按两次ScrollLock键。如果设置正确,机器会立刻进入蓝屏,并开始将内存快照写入页面文件。您可以看到其完成进度。待其完成后,机器将会自动重启,并在重启后产生一个内存转储文件在 c:windowsmemory.dmp。6. 对于某些笔记本没有右Ctrl键,可以通过导入附件的注册表文件来实现由左Ctrl操作产生Dump文件。
2023-07-26 08:29:331

dump是什么意思啊……

抛下的意思
2023-07-26 08:29:432

我想问一下dump文件怎么打开

操作方法:需要在电脑端安装DebuggingTools,安装后打开DebuggingToolsforWindows文件夹,点击WinDbg,运行软件,点击File,选择“OpenCrashDump”,选择需要打开的dump文件,点击“Yes”即可打开文件。电脑使用技巧:1、在win10系统上,用户可以在一台电脑上打开多个桌面,打开电脑,点击桌面左下角的任务视图按钮,之后点击新建桌面,根据页面提示操作即可。2、电脑系统盘存储空间不足,可以清理磁盘,在win10系统下,右键单击桌面左下角的窗口标志,点击“磁盘管理”,根据提示清理即可。3、电脑系统设置页面打不开,可以进行修复,在win10系统下打开电脑的控制面板,选择“系统与安全”,点击“检查计算机状态并维护”,之后等待维护即可。资料拓展:Windows10ProforWorkstations包括了许多普通版Win10Pro没有的内容,着重优化了多核处理以及大文件处理,面向大企业用户以及真正的“专业”用户,如6TB内存、ReFS文件系统、高速文件共享和工作站模式。更多关于dump文件怎么打开,进入:https://m.abcgonglue.com/ask/60c4b91615840378.html?zd查看更多内容
2023-07-26 08:29:501

dump文件怎么打开

操作方法:需要在电脑端安装DebuggingTools,安装后打开DebuggingToolsforWindows文件夹,点击WinDbg,运行软件,点击File,选择“OpenCrashDump”,选择需要打开的dump文件,点击“Yes”即可打开文件。电脑使用技巧:1、在win10系统上,用户可以在一台电脑上打开多个桌面,打开电脑,点击桌面左下角的任务视图按钮,之后点击新建桌面,根据页面提示操作即可。2、电脑系统盘存储空间不足,可以清理磁盘,在win10系统下,右键单击桌面左下角的窗口标志,点击“磁盘管理”,根据提示清理即可。3、电脑系统设置页面打不开,可以进行修复,在win10系统下打开电脑的控制面板,选择“系统与安全”,点击“检查计算机状态并维护”,之后等待维护即可。资料拓展:Windows10ProforWorkstations包括了许多普通版Win10Pro没有的内容,着重优化了多核处理以及大文件处理,面向大企业用户以及真正的“专业”用户,如6TB内存、ReFS文件系统、高速文件共享和工作站模式。更多关于dump文件怎么打开,进入:https://m.abcgonglue.com/ask/60c4b91615840378.html?zd查看更多内容
2023-07-26 08:30:101

如何生成Dump 文件

1. 进到 Control Panel --> System --> Advanced --> Startup/Recovery,请选complete memory dump并选中System Failure下的所有选项。请记住memory.dmp文件存放的位置,默认情况下此文件存放在%systemroot%下。请确认memory.dmp文件的存放路径下有足够的空间,即剩余空间大于等于物理内存的大小。如果默认目录下没有足够的空间,请把路径指定到有足够空间的分区的根目录下。 2. 进到Control Panel --> System --> Advanced --> Performance Options --> Change。请确定pagefile是放在%systemroot%分区的。pagefile的大小需设置成比物理内存大,如,机器内存为1G,可以把pagefile文件的大小设成1100M。如果系统提示要重新启动服务器,请暂时不要重启。3. 添加注册表键值: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesi8042prtParametersValue Name: CrashOnCtrlScrollData Type: REG_DWORDValue: 1 4. 重启计算机使设置生效。5. 在问题再次发生时按住键盘右边的Ctrl键不放,再按两次ScrollLock键。如果设置正确,机器会立刻进入蓝屏,并开始将内存快照写入页面文件。您可以看到其完成进度。待其完成后,机器将会自动重启,并在重启后产生一个内存转储文件在 c:windowsmemory.dmp。6. 对于某些笔记本没有右Ctrl键,可以通过导入附件的注册表文件来实现由左Ctrl操作产生Dump文件。
2023-07-26 08:30:181

如何让程序抓到dump文件,MiniDumpWriteDump

程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件。步骤:1) 打开WinDBG并将之Attach 到crash的程序进程2) 输入产生dump 文件的命令WinDBG产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件。选项(1): /m命令行示例:.dump /m C:dumpsmyapp.dmp注解: 缺省选项,生成标准的minidump, 转储文件通常较小,便于在网络上通过邮件或其他方式传输。 这种文件的信息量较少,只包含系统信息、加载的模块(DLL)信息、 进程信息和线程信息。选项(2): /ma命令行示例:.dump /ma C:dumpsmyapp.dmp注解: 带有尽量多选项的minidump(包括完整的内存内容、句柄、未加载的模块,等等),文件很大,但如果条件允许(本机调试,局域网环境), 推荐使用这中dump。选项(3):/mFhutwd命令行示例:.dump /mFhutwd C:dumpsmyapp.dmp注解:带有数据段、非共享的读/写内存页和其他有用的信息的minidump。包含了通过minidump能够得到的最多的信息。是一种折中方案。上面介绍如如何用WinDBG 生成crash dump 《WinDBG 技巧:如何生成Dump 文件(.dump 命令) 》,但是用户机器上通常不安装WinDBG, 而且多数用户也不知道怎么使用WinDBG。 所以最好是自己程序里面能够捕捉exception/crash,并且生成crash dump,然后通过网络传回到自己服务器。捕捉exception 可以用API 函数 SetUnhandledExceptionFilter 。生成crash dump 可以用DbgHelp.dll 里面的MiniDumpWriteDump 函数。LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter( __in LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter );BOOL WINAPI MiniDumpWriteDump( __in HANDLE hProcess, __in DWORD ProcessId, __in HANDLE hFile, __in MINIDUMP_TYPE DumpType, __in PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam, __in PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam, __in PMINIDUMP_CALLBACK_INFORMATION CallbackParam );【代码实例】#include <dbghelp.h> #include <shellapi.h> #include <shlobj.h> // 自定义的exectpion filter LONG WINAPI MyUnhandledExceptionFilter(struct _EXCEPTION_POINTERS*pExceptionPointers) {SetErrorMode( SEM_NOGPFAULTERRORBOX );//收集信息 CStringW strBuild;strBuild.Format(L"Build: %s %s", __DATE__, __TIME__);CStringW strError;HMODULE hModule;WCHAR szModuleName[MAX_PATH] = L"";GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,(LPCWSTR)pExceptionPointers->ExceptionRecord->ExceptionAddress,&hModule);GetModuleFileName(hModule, szModuleName, ARRAYSIZE(szModuleName));strError.AppenedFormat(L"%s %d , %d ,%d.",szModuleName,pExceptionPointers->ExceptionRecord->ExceptionCode,pExceptionPointers->ExceptionRecord->ExceptionFlags,pExceptionPointers->ExceptionRecord->ExceptionAddress);//生成 mini crash dump BOOL bMiniDumpSuccessful;WCHAR szPath[MAX_PATH];WCHAR szFileName[MAX_PATH];WCHAR* szAppName = L"AppName";WCHAR* szVersion = L"v1.0";DWORD dwBufferSize = MAX_PATH;HANDLE hDumpFile;SYSTEMTIME stLocalTime;MINIDUMP_EXCEPTION_INFORMATION ExpParam;GetLocalTime( &stLocalTime );GetTempPath( dwBufferSize, szPath );StringCchPrintf( szFileName, MAX_PATH, L"%s%s", szPath, szAppName);CreateDirectory( szFileName, NULL );StringCchPrintf( szFileName, MAX_PATH, L"%s%s\%s-%04d%02d%02d-%02d%02d%02d-%ld-%ld.dmp",szPath, szAppName, szVersion,stLocalTime.wYear, stLocalTime.wMonth, stLocalTime.wDay,stLocalTime.wHour, stLocalTime.wMinute,stLocalTime.wSecond,GetCurrentProcessId(), GetCurrentThreadId());hDumpFile = CreateFile(szFileName, GENERIC_READ|GENERIC_WRITE,FILE_SHARE_WRITE|FILE_SHARE_READ, 0, CREATE_ALWAYS, 0,0);MINIDUMP_USER_STREAM UserStream[2];MINIDUMP_USER_STREAM_INFORMATION UserInfo;UserInfo.UserStreamCount = 1;UserInfo.UserStreamArray = UserStream;UserStream[0].Type = CommentStreamW;UserStream[0].BufferSize = strBuild.GetLength()*sizeof(WCHAR);UserStream[0].Buffer = strBuild.GetBuffer();UserStream[1].Type = CommentStreamW;UserStream[1].BufferSize = strError.GetLength()*sizeof(WCHAR);UserStream[1].Buffer = strError.GetBuffer();ExpParam.ThreadId = GetCurrentThreadId();ExpParam.ExceptionPointers = pExceptionPointers;ExpParam.ClientPointers = TRUE;MINIDUMP_TYPE MiniDumpWithDataSegs = MiniDumpNormal| MiniDumpWithHandleData| MiniDumpWithUnloadedModules| MiniDumpWithIndirectlyReferencedMemory| MiniDumpScanMemory| MiniDumpWithProcessThreadData| MiniDumpWithThreadInfo;bMiniDumpSuccessful = MiniDumpWriteDump(GetCurrentProcess(),GetCurrentProcessId(),hDumpFile, MiniDumpWithDataSegs, &ExpParam, NULL,NULL);// 上传mini dump 到自己服务器(略) ...return EXCEPTION_CONTINUE_SEARCH; //或者 EXCEPTION_EXECUTE_HANDLER 关闭程序 }int _tmain() {// 设置 execption filter SetUnhandledExceptionFilter(MyUnhandledExceptionFilter);....return 0; }正常情况下不会生成dump,需要自己在程序中添加代码实现,一般是利用MS的dbghelp.dll提供的DbgHelpCreateUserDump来生成,用WinDbg来分析,期间需要编译程序生成的.pdb文件。可以参考BlackBox、google breakpad等crash 文件生成的路径:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionAeDebug]"Auto"="0""Debugger"=""D:\WinDBG\ntsd.exe" -p %ld -e %ld -g -noio -c ".dump /ma /u d:\dbgdmp\dmp.dmp; q""UserDebuggerHotKey"=dword:00000000
2023-07-26 08:30:261

我想问一下dump文件怎么打开?

操作方法:需要在电脑端安装DebuggingTools,安装后打开DebuggingToolsforWindows文件夹,点击WinDbg,运行软件,点击File,选择“OpenCrashDump”,选择需要打开的dump文件,点击“Yes”即可打开文件。电脑使用技巧:1、在win10系统上,用户可以在一台电脑上打开多个桌面,打开电脑,点击桌面左下角的任务视图按钮,之后点击新建桌面,根据页面提示操作即可。2、电脑系统盘存储空间不足,可以清理磁盘,在win10系统下,右键单击桌面左下角的窗口标志,点击“磁盘管理”,根据提示清理即可。3、电脑系统设置页面打不开,可以进行修复,在win10系统下打开电脑的控制面板,选择“系统与安全”,点击“检查计算机状态并维护”,之后等待维护即可。资料拓展:Windows10ProforWorkstations包括了许多普通版Win10Pro没有的内容,着重优化了多核处理以及大文件处理,面向大企业用户以及真正的“专业”用户,如6TB内存、ReFS文件系统、高速文件共享和工作站模式。更多关于dump文件怎么打开,进入:https://m.abcgonglue.com/ask/60c4b91615840378.html?zd查看更多内容
2023-07-26 08:30:341

pour和dump的区别

场景和语气不同。1、pour通常用于描述慢慢地、连续地倒出液体或粉末,强调其流畅性。例如,“慢慢地倒了一杯咖啡,享受着浓郁的香气。”或者“一场大雨倾盆而下,pour个不停。”在这里,“pour”表示液体的缓慢、连续流出,给人一种优雅、柔和的感觉。2、dump则用于描述快速、随意地将物体倒出,强调其粗鲁、急躁的语气。例如,“dumped整箱的货物在地上,然后开始整理。”或者“在垃圾桶里dump了一堆垃圾。”在这里,“dump”表示物体的快速、随意地倒出,给人一种急躁、粗鲁的感觉。
2023-07-26 08:30:411

Windows机器fulldump如何抓取

在Windbg中可以通过.dump命令保存进程的dump文件。比如下面的命令把当前进程的镜像保存为c: estdump.dmp文件:.dump /ma C: estdump.dmp其中的/ma参数表示dump文件应该包含进程的完整信息,包括整个用户态的内存,这样dump文件尺寸会比较大,信息非常全面。如果不使用/ma参数,保存下来的dump文件只包含了部分重要资料,比如寄存器和线程栈空间,文件尺寸会比较小,无法分析所有的数据。在Windbg中,通过File→Open Crash Dump菜单可以打开dump文件进行分析。打开dump文件后,运行调试命令看到的信息和状态,就是dump文件保存时进程的状态。通过dump文件能够方便地保存发生问题时进程的状态,方便事后分析。dump还是oracle及SQL数据库中导出的数据文件。可以备份数据,并可以实现后期的导入。下载BlueScreenView,运行它就会自动读取 C:Windowsminidump*.dmp 操作系统蓝屏记录转储文件.
2023-07-26 08:30:501

如何捕捉程序异常/crash 并生成 dump 文件

程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件。 步骤:1) 打开WinDBG并将之Attach 到crash的程序进程2) 输入产生dump 文件的命令WinDBG产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件。 选项(1): /m命令行示例:.dump /m C:dumpsmyapp.dmp注解: 缺省选项,生成标准的minidump, 转储文件通常较小,便于在网络上通过邮件或其他方式传输。 这种文件的信息量较少,只包含系统信息、加载的模块(DLL)信息、 进程信息和线程信息。 选项(2): /ma命令行示例:.dump /ma C:dumpsmyapp.dmp注解: 带有尽量多选项的minidump(包括完整的内存内容、句柄、未加载的模块,等等),文件很大,但如果条件允许(本机调试,局域网环境), 推荐使用这中dump。 选项(3):/mFhutwd命令行示例:.dump /mFhutwd C:dumpsmyapp.dmp注解:带有数据段、非共享的读/写内存页和其他有用的信息的minidump。包含了通过minidump能够得到的最多的信息。是一种折中方案。上面介绍如如何用WinDBG 生成crash dump 《WinDBG 技巧:如何生成Dump 文件(.dump 命令) 》,但是用户机器上通常不安装WinDBG, 而且多数用户也不知道怎么使用WinDBG。 所以最好是自己程序里面能够捕捉exception/crash,并且生成crash dump,然后通过网络传回到自己服务器。 捕捉exception 可以用API 函数 SetUnhandledExceptionFilter 。生成crash dump 可以用DbgHelp.dll 里面的MiniDumpWriteDump 函数。 LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter( __in LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter ); BOOL WINAPI MiniDumpWriteDump( __in HANDLE hProcess, __in DWORD ProcessId, __in HANDLE hFile, __in MINIDUMP_TYPE DumpType, __in PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam, __in PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam, __in PMINIDUMP_CALLBACK_INFORMATION CallbackParam );【代码实例】#include <dbghelp.h> #include <shellapi.h> #include <shlobj.h> // 自定义的exectpion filter LONG WINAPI MyUnhandledExceptionFilter(struct _EXCEPTION_POINTERS*pExceptionPointers) { SetErrorMode( SEM_NOGPFAULTERRORBOX ); //收集信息 CStringW strBuild; strBuild.Format(L"Build: %s %s", __DATE__, __TIME__); CStringW strError; HMODULE hModule; WCHAR szModuleName[MAX_PATH] = L""; GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,(LPCWSTR)pExceptionPointers->ExceptionRecord->ExceptionAddress,&hModule); GetModuleFileName(hModule, szModuleName, ARRAYSIZE(szModuleName)); strError.AppenedFormat(L"%s %d , %d ,%d.",szModuleName,pExceptionPointers->ExceptionRecord->ExceptionCode,pExceptionPointers->ExceptionRecord->ExceptionFlags,pExceptionPointers->ExceptionRecord->ExceptionAddress); //生成 mini crash dump BOOL bMiniDumpSuccessful; WCHAR szPath[MAX_PATH]; WCHAR szFileName[MAX_PATH]; WCHAR* szAppName = L"AppName"; WCHAR* szVersion = L"v1.0"; DWORD dwBufferSize = MAX_PATH; HANDLE hDumpFile; SYSTEMTIME stLocalTime; MINIDUMP_EXCEPTION_INFORMATION ExpParam; GetLocalTime( &stLocalTime ); GetTempPath( dwBufferSize, szPath ); StringCchPrintf( szFileName, MAX_PATH, L"%s%s", szPath, szAppName); CreateDirectory( szFileName, NULL ); StringCchPrintf( szFileName, MAX_PATH, L"%s%s\%s-%04d%02d%02d-%02d%02d%02d-%ld-%ld.dmp", szPath, szAppName, szVersion, stLocalTime.wYear, stLocalTime.wMonth, stLocalTime.wDay, stLocalTime.wHour, stLocalTime.wMinute,stLocalTime.wSecond, GetCurrentProcessId(), GetCurrentThreadId()); hDumpFile = CreateFile(szFileName, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, 0, CREATE_ALWAYS, 0,0); MINIDUMP_USER_STREAM UserStream[2]; MINIDUMP_USER_STREAM_INFORMATION UserInfo; UserInfo.UserStreamCount = 1; UserInfo.UserStreamArray = UserStream; UserStream[0].Type = CommentStreamW; UserStream[0].BufferSize = strBuild.GetLength()*sizeof(WCHAR); UserStream[0].Buffer = strBuild.GetBuffer(); UserStream[1].Type = CommentStreamW; UserStream[1].BufferSize = strError.GetLength()*sizeof(WCHAR); UserStream[1].Buffer = strError.GetBuffer(); ExpParam.ThreadId = GetCurrentThreadId(); ExpParam.ExceptionPointers = pExceptionPointers; ExpParam.ClientPointers = TRUE; MINIDUMP_TYPE MiniDumpWithDataSegs = MiniDumpNormal | MiniDumpWithHandleData | MiniDumpWithUnloadedModules | MiniDumpWithIndirectlyReferencedMemory | MiniDumpScanMemory | MiniDumpWithProcessThreadData | MiniDumpWithThreadInfo; bMiniDumpSuccessful = MiniDumpWriteDump(GetCurrentProcess(),GetCurrentProcessId(), hDumpFile, MiniDumpWithDataSegs, &ExpParam, NULL,NULL); // 上传mini dump 到自己服务器(略) ... return EXCEPTION_CONTINUE_SEARCH; //或者 EXCEPTION_EXECUTE_HANDLER 关闭程序 } int _tmain() { // 设置 execption filter SetUnhandledExceptionFilter(MyUnhandledExceptionFilter); .... return 0; }正常情况下不会生成dump,需要自己在程序中添加代码实现,一般是利用MS的dbghelp.dll提供的DbgHelpCreateUserDump来生成,用WinDbg来分析,期间需要编译程序生成的.pdb文件。可以参考BlackBox、google breakpad等 crash 文件生成的路径:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionAeDebug]"Auto"="0""Debugger"=""D:\WinDBG\ntsd.exe" -p %ld -e %ld -g -noio -c ".dump /ma /u d:\dbgdmp\dmp.dmp; q""UserDebuggerHotKey"=dword:00000000转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦
2023-07-26 08:30:581

.dump文件如何查看

你好你可以用 windbg 来查看 dump 文件..dump文件查看器使用方法.http://down.51cto.com/data/597113
2023-07-26 08:31:062

电脑蓝屏后如何找到dump文件?

蓝屏后如何提取dump 文件:http://wenku.baidu.com/link?url=ukXmME05a2Dki4_OpiUMXiCY9B4P7_2uLYWAW0UwYE_K2EiL2C4V8kViUnDuWm3zy10hF8Fa_sndvXHKAqZbG-7gU6ElNShZc7OjooY-EpK
2023-07-26 08:31:163