行业资讯

学术百科

焦点期刊
在线客服

著作编辑 著作编辑

客服电话:

咨询邮箱:

学术百科

PHYSICALEXAMINATION (physical memory dump complete)

作者:小编 日期:2023-08-07 点击数:

什么是物理内存转储?

物理内存转储(physical memory dump)是一种在系统崩溃时将物理内存中的数据保存到硬盘上的操作。物理内存转储的目的是为了方便后续的调试和分析,找出导致系统崩溃的原因。物理内存转储可以分为以下几种类型:

1.完全内存转储(complete memory dump):这是最大的一种内存转储文件,它包含了所有被Windows使用的物理内存的数据。完全内存转储不包括平台固件使用的物理内存,除非注册了BugCheckAddPagesCallback回调函数。完全内存转储需要在启动卷上有一个至少等于物理内存大小加上1MB的分页文件。完全内存转储文件默认保存在%SystemRoot%\\\\Memory.dmp中。

2.内核内存转储(kernel memory dump):这是一种只记录内核内存的文件,它可以加快系统崩溃时的数据保存速度。内核内存转储需要有一个足够容纳内核内存的分页文件。对于32位系统,内核内存通常在150MB到2GB之间。这种转储文件不包括未分配的内存或者用户模式程序使用的内存,它只包括以下内容:

3.Windows 2000及以后版本中分配给内核和硬件抽象层(HAL)的内存。

4.分配给内核模式驱动程序和其他内核模式程序的内存。

5.小型内存转储(small memory dump):这是最小的一种内存转储文件,它只占用64KB的空间。它包含了一些基本的信息,如停止代码,停止参数,加载的驱动程序列表,当前进程和线程信息等。小型内存转储文件默认保存在%SystemRoot%\\\\Minidump中。

6.自动内存转储(automatic memory dump):这是Windows 8及以后版本中引入的一种新的内存转储类型。它根据系统配置和可用空间自动调整分页文件大小和转储文件大小。它可以看作是完全内存转储和小型内存转储之间的折中方案。

如何配置物理内存转储?

配置物理内存转储有以下几种方法:

1.使用图形用户界面(GUI):在控制面板中选择系统和安全,然后选择系统,然后选择高级系统设置,然后选择高级选项卡,然后选择启动和恢复设置按钮,在写入调试信息下拉列表中选择所需的转储类型。

2.使用命令行工具(CMD):使用bcdedit命令来修改启动配置数据(BCD)中与物理内存转储相关的设置。例如,要设置完全内存转储,可以使用以下命令:

3.使用注册表编辑器(REG):使用regedit命令来修改注册表中与物理内存转储相关的设置。例如,要设置完全内存转储,可以修改以下注册表项:

如何分析物理内存转储?

分析物理内存转储需要使用一些专门的调试工具,如Windows调试器(WinDbg),KD,CDB,NTSD等。这些工具可以从物理内存转储文件中提取出有用的信息,如堆栈跟踪,寄存器值,变量值,函数调用等。通过分析这些信息,可以定位出导致系统崩溃的程序或驱动程序,以及可能的错误原因。

分析物理内存转储的步骤大致如下:

1.安装调试工具和符号文件:调试工具可以从[Windows SDK](1)中安装,符号文件可以从[Microsoft Symbol Server]中或者使用符号路径设置自动加载。

2.打开物理内存转储文件:使用调试工具的File菜单或者命令行参数来指定要打开的物理内存转储文件的路径。

3.查看基本信息:使用!analyze -v命令来查看一些基本的调试信息,如停止代码,停止参数,故障模块,故障地址等。

4.查看堆栈跟踪:使用k命令来查看当前线程的堆栈跟踪,可以看到函数调用的顺序和参数值。

5.查看寄存器值:使用r命令来查看当前线程的寄存器值,可以看到一些重要的状态和数据。

6.查看变量值:使用dv命令来查看当前函数的局部变量值,可以看到一些相关的数据。

7.查看其他信息:根据需要,可以使用其他命令来查看更多的信息,如进程列表,线程列表,模块列表,内存内容等。

相关论文推荐