WIN8蓝屏后如何提取dump文件

WIN8蓝屏后如何提取dump文件,第1张

蓝屏幕的时候记得要记下那个000000XXX的号码

大概对一下下面的表

0

0x0000

作业完成。

1

0x0001

不正确的函数。

2

0x0002

系统找不到指定的档案。

3

0x0003

系统找不到指定的路径

4

0x0004

系统无法开启档案。

5

0x0005

拒绝存取。

6

0x0006

无效的代码。

7

0x0007

储存体控制区块已毁。

8

0x0008

储存体空间不足,无法处理这个指令。

9

0x0009

储存体控制区块位址无效。

10

0x000a

环境不正确。

11

0x000b

尝试载入一个格式错误的程式。

12

0x000c

存取码错误。

13

0x000d

资料错误。

14

0x000e

储存体空间不够,无法完成这项作业。

15

0x000f

系统找不到指定的磁碟机。

16

0x0010

无法移除目录。

17

0x0011

系统无法将档案移到

其他的磁碟机。

18

0x0012

没有任何档案。

19

0x0013

储存媒体为防写状态。

20

0x0014

系统找不到指定的装置。

21

0x0015

装置尚未就绪。

22

0x0016

装置无法识别指令。

23

0x0017

资料错误

(cyclic

redundancy

check)

24

0x0018

程式发出一个长

度错误的指令。

25

0x0019

磁碟机在磁碟找不到

持定的磁区或磁轨。

自己对照下看是什么问题再解决吧~~

前言:利用drwtsn32或NTSD进行程序崩溃处理,都可以生成可用于调试的dmp格式文件。使用VS2005打开生成的DMP文件,能很方便的找出BUG所在位置。本文将讨论以下内容:

1、 程序编译选项

2、 利用VS2005 分析dump文件

3、 常见问题讨论

一、 程序编译选项

PDB files contains all debug information like type definition and function prototype When application crashes, we need the PDB files to analyze the root cause, so make sure these PDB files will be created when building it You must do the following setting:

C/C++/General/Debug Information Format=Program Database (/Zi)

图11 调试信息格式

Linker/Debugging/Generate Program Database File=”Name and location of your PDB files”

图12 PDB文件输出路径

PDB文件路径最好设置在同一个文件夹中,这样方便dmp文件调试时调用。

调试时,所有的PDB文件和源文件必须严格匹配(the PDB files should be the one generated by build the source code),并存储在一个安全的位置。当客户报告了一个错误时,你需要这些文件来帮忙以便定位错误于源代码中并解决问题。

二、 VS2005 分析dump文件

In this simple application, there is an unhandled Access Violation Reading exception, because GetNameFromDatabase returns a NULL pointer, and this pointer is passed into IsPrefix and then it’s used directly without NULL pointer checking

图13 演示代码

利用Release模式编译该测试程序,在客户机上运行该程序,将根据NTSD设置生成相对应的DMP格式文件。

可以使用Visual StudioNet、NTSD或是其他的调试工具对DMP格式文件进行分析。

Start Visual StudioNet

Click File/Open Solution and make sure the files of type is dmp then click Open

图13 Open Dump File (GUI)

Set Symbol Path

Click Tools/Options, Debugging/Symbols,增加PDB文件路径。若调试的程序需要微软基础库的PDB信息,可以增加一个路径为:

>

如何查看javacore和heapdump文件

一。查看javacore文件

1下载ThreadDumpAnalyser,graphviz,svgviewer

2运行runallbat javacoretxt,会产生三个文件dumpsxml,locktree1svg,sidebysidehtml

二。查看heapdump文件

1从IBM网站下载ha433包,释放,执行ha433jar文件

2在ha433窗口打开heapdumpphd,从中会显示分析结果

1 进到 Control Panel --> System --> Advanced --> Startup/Recovery,请选complete memory dump并选中System Failure下的所有选项。请记住memorydmp文件存放的位置,默认情况下此文件存放在%systemroot%下。请确认memorydmp文件的存放路径下有足够的空间,即剩余空间大于等于物理内存的大小。如果默认目录下没有足够的空间,请把路径指定到有足够空间的分区的根目录下。

2 进到Control Panel --> System --> Advanced --> Performance Options --> Change。请确定pagefile是放在%systemroot%分区的。pagefile的大小需设置成比物理内存大,如,机器内存为1G,可以把pagefile文件的大小设成1100M。如果系统提示要重新启动服务器,请暂时不要重启。

3 添加注册表键值:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters

Value Name: CrashOnCtrlScroll

Data Type: REG_DWORD

Value: 1

4 重启计算机使设置生效。

5 在问题再次发生时按住键盘右边的Ctrl键不放,再按两次ScrollLock键。如果设置正确,机器会立刻进入蓝屏,并开始将内存快照写入页面文件。您可以看到其完成进度。待其完成后,机器将会自动重启,并在重启后产生一个内存转储文件在 c:\windows\memorydmp。

6 对于某些笔记本没有右Ctrl键,可以通过导入附件的注册表文件来实现由左Ctrl *** 作产生Dump文件。

具体方法如下:

1、点击开始菜单--选择控制面板;

2、切换到大图标模式,选择系统;

3、选择高级系统设置;

4、在启动和故障恢复点击设置;

5、勾选自动重启选项,然后设置选择dump类型,并设置dump存放路径和dump是否覆盖现有文件;

6、设置好之后,点击确定即可。

ubuntu默认不创建core文件。需要用命令

ulimit -c unlimited

允许产生core dump且core文件大小不受限制,然后在可执行文件的同一目录下即可找了

但当前设置的ulimit只对当前会话有效,若想系统均有效,则需要进行如下设置:

在/etc/profile中加入以下一行,这将允许生成coredump文件

ulimit-c unlimited

以上就是关于WIN8蓝屏后如何提取dump文件全部的内容,包括:WIN8蓝屏后如何提取dump文件、如何分析dump文件.vs2005、如何查看javacore和heapdump文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9557484.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存