抓取电脑内存文件怎么查看电脑内存

是这样的,想请分析下,抓取电脑内存文件怎么查看电脑内存
最新回答
风铃鹿

2024-11-29 06:55:15

一 怎么查看电脑内存
内存(Memory)也被称为内存储器和主存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。
内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。
二 如何抓取网络游戏内存值
首先我们要确定的第一问题就是你要抓取的是什么

1.假如是数字类型就很简单的了 打个比方 金钱 经验 物品数量等
2.无数字提示 比如"可乐X"的"水果大战" 人物的血是没有数值的

但我们有个简单的方法来确定内存位置 就是"金山游侠"
金山游侠的最大好处在于它的"热起"和"内存判断"的准确性 并且使用方法简单 我这里就不多说了
............................................................................................................................................................................................
接下来 就该我们动脑子的时候的 呵呵
网络游戏的运行大概分为两个部分

1.你的游戏客户端(※一般情况下游戏里的大部分数据都在于此)
2.远程的服务器(※主要负责数据管理 如角色等级 金钱 物品等)

我们再来了解下网络游戏的运行

PC本地客户端→网络封包数据

↑远程服务器←网络封包发送

范例:
我在游戏中买了件物品 游戏系统把这个信息封包发送给服务器 服务器接受信息反馈给本地PC"并输入至远程服务器的信息库"
............................................................................................................................................................................................
我想到了这里 大家都基本明白网络游戏的运行原理了吧
细心的人也许会问 "数据"都在远程服务器 修改客户端也没用啊"
没错 数据是在远程服务器那 但是大家是否考虑过这个问题呢 那就是"远程服务器都是由本地客户端发送指令才反馈"
※更明确的说 我们不是为了修改游戏数值 而是要"欺骗服务器"主动还是掌握在客户端的发送的指令上... ...
比如我卖了件10W的衣服 通过内存查找准确数值进行修改然后把数值修改成100W那么发送给服务器的就是你卖了100W
同样的 我打了一个怪物得到了100经验 通过修改封包成100W... ...
............................................................................................................................................................................................
使用工具
WPE(网络封包剪裁发送修改工具)
注意事项:务必掐8到10次重复信息进行对比 并注意数值的变化和修改
M2M(加密内存解读工具)
注意事项:内存中一般00较多 通过这个常识 对特殊加密帮助很大
WINHEX(程序内存辅助工具)
三 有没有内存信息抓取工具
无需,网页打开后,不管你是否保存,其实都已经下载在硬盘上了

首先,右击IE点属性,点击删除文件,删除所有文件(要是你有一目十行的能力,跳过此条)
再打开你要保存的网页
打开C:\Documents and Settings\(你的用户名)\Local Settings\Temporary Internet Files
里面就是你刚才的网页所有东西了
四 用c语言如何获取内存地址
1、获得函数的地址
函数名实际上就是指针,所以可以通过强制类型转换来获取函数的地址。
int i = 0;
i = (int)main;
printf(“%d\n”,i);
这样我们就获取了main函数的地址了,其他的自定义的函数也是同样的道理啊。

2、获取变量地址
int variab = 0;

int addrvar = 0;
addrvar = (int)&variab;
在变量addrvar中保存了变量variab的地址。
3、获得数组的地址

数组本身就是指针,它本身就是内存地址,和获得函数地址的方法一样啊。比如
int array[10];

int addrarr;
addrarr = (int)array;
五 大神们,内存里面的dll如何抓取
方法:
1、自己把相关的文件从在正常工作的安装目录中,打到这件文件,然后复制到出现问题软件的目录下。复制成功后,还要进行注册。
2、打开腾讯电脑管家,在工具箱里面有一个电脑诊所功能,可以进行修复文件缺失的问题。
3、实在不行就只有重装系统了
六 电脑主板上抓取内存大小的是什么信号
内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。 内存是由内存芯片、电路板、金手指等部分组成的。
基本信息
中文名:内存
英文名:Memory
其他外文名:Computer memory
基本概述
内存
内存简单的说就是存储程序以及数据的地方,可以分为物理内存和虚拟内存,通常我们所说的都是指机器的物理内存,当物理RAM满时(实际上,在RAM满之前),计算机就会用硬盘空间做内存来弥补计算机RAM空间的缺乏。虚拟内存就在硬盘上创建了。在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存)。外存通常是磁性介质或光盘,像硬盘,软盘,磁带,CD等,能长期保存信息,并且不依赖于电来保存信息,但是由机械部件带动,速度与CPU相比就显得慢的多。内存指的就是主板上的存储部件,是CPU直接与之沟通,并用其存储数据的部件,存放当前正在使用的(即执行中)的数据和程序,它的物理实质就是一组或多组具备数据输入输出和数据存储功能的集成电路,内存只用于暂时存放程序和数据,一旦关闭电源或发生断电,其中的程序和数据就会丢失。
七 如何抓取windows的mp抓取mp
Windbg生成mp文件的方法:程序崩溃(crash)的时候,为了以后能够调试分析问题,可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为mp文件。步骤:1)打开WinDBG并将之Attach到crash的程序进程2)输入产生mp文件的命令WinDBG产生mp文件的命令是.mp,可以选择不同的参数来生成不同类型的mp文件。选项(1):/m命令行示例:.mp/mC:\mps\myapp.dmp注解:缺省选项,生成标准的minimp,转储文件通常较小,便于在网络上通过邮件或其他方式传输。这种文件的信息量较少,只包含系统信息、加载的模块(DLL)信息、进程信息和线程信息。选项(2):/ma命令行示例:.mp/maC:\mps\myapp.dmp注解:带有尽量多选项的minimp(包括完整的内存内容、句柄、未加载的模块,等等),文件很大,但如果条件允许(本机调试,局域网环境),推荐使用这中mp。选项(3):/mFhutwd命令行示例:.mp/mFhutwdC:\mps\myapp.dmp注解:带有数据段、非共享的读/写内存页和其他有用的信息的minimp。包含了通过minimp能够得到的最多的信息。是一种折中方案那怎么自动生成mp文件呢,比如对方的电脑没有windbg,这里用到一个window系统自带工具,Dr.Watson运行方式很简单:直接run-输入drwtsn32-i就可以了,会提示这样的:这个命令真难记,实话,记华生医生吧,福尔摩斯中的如果有程序崩溃,会自动生成mp,这时再输入drwtsn32就会运行这个程序:找到对应路径的DMP文件就行了,一般放在如下路径:C:\DocumentsandSettings\AllUsers\ApplicationData\Microsoft\DrWatson以下实例来自AWD代码:Copyright(c)AdvancedWindowsDebugging(ISBN0321374460)fromAddison-WesleyProfessional.Allrightsreserved."ASIS"WITHOUTWARRANTYOFANYKIND,EITHEREXPRESSEDORIMPLIED,/.--*/#include"stdafx.h"#include#include#();classCAppInfo{public:CAppInfo(LPWSTRwszAppName,LPWSTRwszVersion){m_wszAppName=wszAppName;m_wszVersion=wszVersion;}VOIDPrintAppInfo(){wprintf(L"\nFullapplicationName:%s\n",m_wszAppName);wprintf(L"Version:%s\n",m_wszVersion);}private:LPWSTRm_wszAppName;LPWSTRm_wszVersion;};CAppInfo*g_AppInfo;int__cdeclwmain(intargc,WCHAR*args[]){wint_tiChar=0;g_AppInfo=newCAppInfo(L"MemoryCorruptionSample",L"1.0");if(!g_AppInfo){return1;}wprintf(L"Press:\n");wprintf(L"\n");wprintf(L"2Tosimulatedmemorycorruption\n");wprintf(L"3Toexit\n\n\n>");while((iChar=_getwche())!='3'){switch(iChar){case'1':g_AppInfo->PrintAppInfo();break;case'2':SimulateMemoryCorruption();wprintf(L"\nMemoryCorruptioncompleted\n");break;default:wprintf(L"\nInvalidoption\n");}wprintf(L"\n\n>");}return0;}VOIDSimulateMemoryCorruption(){char*pszWrite="Corrupt";BYTE*p=(BYTE*)g_AppInfo;CopyMemory(p,pszWrite,strlen(pszWrite));}
八 如何手工抓取mp文件
在生产环境下进行故障诊断时,为了不终止正在运行的服务或应用程序,有两种方式可以对正在运行的服务或应用程序的进程进行分析和调试。
首先一种比较直观简洁的方式就是用WinDbg等调试器直接attach到需要调试的进程,调试完毕之后再detach即可。但是这种方式有个缺点就是执行debugger命令时必须先break这个进程,执行完debug命令之后又得赶紧F5让他继续运行,因为被你break住的时候意味着整个进程也已经被你挂起。另外也经常会由于First Chance Excetpion而自动break,你得时刻留意避免长时间break整个进程。所以这样的调试方式对时间是个很大的考验,往往没有充裕的时间来做仔细分析。
另一种方式则是在出现问题的时候,比如CPU持续长时间100%,内存突然暴涨等非正常情况下,通过对服务进程snapshot抓取一个mp文件,完成mp之后先deatch,让进程继续运行。然后用windbg等工具来分析这个抓取到的mp文件。
那么如何在不终止进程的情况下抓取mp文件呢?Debugging Tools for Windows里提供了一个非常好的工具,adplus.vbs。从名字可以看出,实际上是一个vb脚本,只是对cdb调试器作的一个包装脚本。
其路径与Debugging Tools for Windows的安装路径相同,使用的方法也很简单,如下所示:
adplus.vbs -hang -p 1234 -o d:/mp
其中-hang指明使用hang模式,亦即在进程运行过程中附加上去snapshot抓取一个mp文件,完成之后detach。与之对应的是-crash崩溃模式,用户先启动adplus,然后由它启动要监控的程序,在出现异常崩溃时自动生成mp文件,或者通过Ctrl-C人为发出抓取指令。但是-crash模式在抓取完成之后,被监控的进程就必须终止。因此我们在这里只选用-hang模式。
-p是要调试的进程ID,比如ASP.NET应用线程池,在Win2003下就是w3wp.exe
-o 指定要output的mp文件路径。
另外,与adplus类似的,有个UserDump工具,但是抓取用户模式的进程,而adplus则是内核模式和用户模式两者皆可。
而总所周至的Dr. Waston,则会在进程崩溃之后的自动时候抓取mp文件,一样可以用于windbg等调试器来事后分析程序崩溃时的状态。
====================
0:000> !mpheap -stat
No export mpheap found
======解决方法:
.load clr20/sos.dll,你要先执行的。sos.dll在默认的c:/windows/microsoft.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.microsoft.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方法相关的地址
!mpmt -md 00976d48 //得到类的成员函数详细信息
!mpil 00973028 // 显示这个方法被编译器编译之后的IL代码
!mpheap -stat //该命令显示程序中所有对象的统计信息,显示的大小是对象本身的大小,不包括对象里面值的大小
!mpheap -mt 790fcb30 //该命令显示MethodTable 790fcb30的详细信息
!gcroot 012919b8 //来显示一个实例的所属关系
!mpobj(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> !mpheap -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.
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> !mpheap -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使用小总结
【抓mp】
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.microsoft.com/kb/824344/zh-cn

3、远程抓
http://blog.joycode.com/tingwang/archive/2006/08/11/79763.aspx

4、抓蓝屏和死机的mp
电脑无故重启或者蓝屏会在C:/WINDOWS/Minimp/下保存一个minimp,但是这个minimp可用的命令很少,一般只打!analyze –v看到是哪个进程引起的,还有相关的驱动模块就基本定位问题了。
5、IIS回收的时候抓
http://blog.yesky.com/blog/omakey/archive/2006/12/17/1618015.html

6、计划任务抓
比如一个进程起来后不知道它什么时候会意外崩溃,可以在计划任务里用crash里抓,当那个进程意外终止的时候,cdb可以直接附加上去,抓取当时的mp,如果要抓一些会自动重启的进程,而且要抓每次重启前的mp,可以参考附录里一节。
【常用命令】
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.microsoft.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、!mpheap -stat看看哪些对象个数最多,占内存最大,
2、找到某个格式比较多的对象,可以看它的方法表,然后用!mpheap -mt 66398fa4去随机找几个对象的地址
3、用!do 1e5a22bc命令去查看几个对象的状态,属性的值等,看看正常不正常
4、用!gcroot -nostacks 1e5a22bc去查看几个对象的根正常不正常,如果有些对象的根不是自己预先设计的那样,很可能被自己没想到的对象强引用了,所以GC无法回收它,就泄漏了。
【CPU百分百】
主要用几个计数器和!runaway命令,具体见以下链接
http://www.cnblogs.com/onlytianc
... 7/06/03/769307.html
【线程池耗尽】
!threadpool 能看到完成端口,线程池工作线程和timer回调各占线程池的情况。
【其它】
1、!eestack -short -ee查看所有重要(获取锁的,托管的,停止并允许回收的)线程的mpstack,差不多相当于~*e!mpstack
2、.time 可以看到进程跑了多少时间
3、!dso 查看当前线程里有哪些对象,分析内存泄漏问题也许会用到
九 怎样用Java获取内存中的数据
可以考虑使用内存映射文件:java.nio.MappedByteBuffer,主要适合放入较大的数据进入系统内存
可以考虑使用:java.nio.ByteBuffer.allocateDirect()方法进行分配,可以将一些不适合放入堆里的数据放入系统内存
还可以采用java本地调用的方式,实现对系统自身内存的掌控与调度,这种方式可以让你灵活的访问系统的内存。
java的堆放入的对象尺度是有限制的,这里建议参考BigMemory 的实现机制以及内存管理机制
如果自己管理内存的话,建议参考其他语言对内存管理的方式。
你可以把数据放入线性数据结构中(这些数据是在系统内存中,而非jvm管理的内存里),这样就不存在分代问题,可以由你的应用在适当的时候清理系统的内存。这样,你的内存模型-释放机制就与jvm的内存管理机制处于一个互不干扰的异行线上。
十 如何抓取windows的mp抓取mp
Dump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到mp文件中。Dump文件是用来给驱动程序编写人员调试驱动程序用的,这种文件必须用专用工具软件打开,比如使用WinDbg打开。

在Windbg中可以通过.mp命令保存进程的mp文件。比如下面的命令把当前进程的镜像保存为c:\testmp.dmp文件:.mp /ma C:\testmp.dmp

其中的/ma参数表示mp文件应该包含进程的完整信息,包括整个用户态的内存,这样mp文件尺寸会比较大,信息非常全面。如果不使用/ma参数,保存下来的mp文件只包含了部分重要资料,比如寄存器和线程栈空间,文件尺寸会比较小,无法分析所有的数据。

在Windbg中,通过File→Open Crash Dump菜单可以打开mp文件进行分析。打开mp文件后,运行调试命令看到的信息和状态,就是mp文件保存时进程的状态。通过mp文件能够方便地保存发生问题时进程的状态,方便事后分析。

mp还是oracle及SQL数据库中导出的数据文件。可以备份数据,并可以实现后期的导入。

.

下载BlueScreenView,运行它就会自动读取 C:\Windows\minimp\*.dmp 操作系统蓝屏记录转储文件.