获取dump文件
windows上获取dump文件
Winbg工具获取dump文件
打开Windbg,File->Attach to a process,选中崩溃的程序。
在command中输入[.dump /ma 要保存的文件完整路径名称],提示Dump successfully written后,就会生成一个dump文件。
.dump /ma G:\dump\dumprxzj.dmp
1、Hang模式
进程运行时,随时可以使用-hang参数得到一个Dump文件, 而不需要考虑线程是否真的处于死锁中,用于诊断高内存使用率, 高CPU使用率。
在hang模式下,dump file是以非侵入方式被抓取的, 并没有中断线程, 因此不需要跟启动进程有相同的身份,在客户端调试服务器时,hang模式抓取dump file很有用。
使用: 在命令行进入windbg所在目录,然后执行adplus -hang -pn Prs.exe -o c:/dump
2、Crash模式
在进程异常终止时抓取dump file。进程异常终止有3种情况:
unhandled的exception
asp.net进程由于iis reset或recycle而终止
出现heap毁坏,栈溢出,内存不足等错误,进程必须退出
使用:adplus -crash -pn w3wp.exe -NoDumpOnFirst
Adplus参数说明
-pn : 指定要分析的进程名。使用多个“-pn process name”开关来指定多个进程。
-o : dump file的存储路径,缺省为adplus所在路径
-FullOnFirst : create full dumps on first chance exceptions
-MiniOnSecond
-NoDumpOnFirst : 如果exception被try-catch block处理,使用这个参数就不会生成dump file
-NoDumpOnSecond :
-quiet : No dialog boxes will be displayed
命令:adplus -hang -pn rxzj.exe -o G:\dump -FullOnFirst
adplus -hang -pn w3wp.exe -o c:\dumps
该命令立刻把w3wp.exe的full dump抓取到c:\dumps文件夹内。
adplus -hang -p 81388 -o c:\dumps
该命令立刻把81388这个进程的full dump抓取到c:\dumps文件夹内。
adplus -crash -pn w3wp.exe -fullonfirst -o c:\dumps
adplus -crash -p 81388 -fullonfirst -o c:\dumps
该命令会通过监视进程w3wp.exe或81388的运行,在当第一次出现异常时记录一次完整的dump
adplus -crash -pn w3wp.exe -o c:\dumps
该命令也是在w3wp.exe崩溃时记录dump,但这是一个mini dump
通过dgbhelp获取dump文件
1 | LONG WINAPI TopLevelExceptionFilter(struct _EXCEPTION_POINTERS *pExceptionInfo) |