windbg Adplus,抓取dump的方便工具

2.3.2  Adplus,抓取dump的方便工具

前面提到了dump文件能保存进程状态,方便分析。由于dump文件记录的是进程某一时刻的具体信息,所以保存dump的时机非常重要。比如程序崩溃,dump应该选在引发崩溃的指令执行时(也就是1st chance exception发生的时候)获取,这样分析dump的时候就能够看到问题的直接原因。

Adplus是跟Windbg在同一个目录的VBS脚本。Adplus主要是用来抓取dump文件。 详细的信息,可以参考Windbg帮助文件中关于adplus的帮助。有下面一些常见用法:

假设我们的目标程序是test.exe:

假设test.exe运行一段时间崩溃,在test.exe启动后崩溃前的这个时间段,运行下面的命令监视:

 Adplus –crash –pn test.exe –o C:/dumps

当test.exe发生2nd chance exception崩溃的时候,adplus在C:/dumps生成full dump文件。当发生1st chance AV exception, 或者1st chance breakpoint exception的时候,adplus在C:/dumps生成mini dump文件。

也可以用:

 Adplus –crash –pn test.exe –fullonfirst –o C:/dumps

差别在于,加上-fullonfirst参数后,无论是1st chance exception还是2nd chance exception,都会生成full dump文件。
假如test.exe发生deadlock,或者memory leak,并不是crash,需要获取任意时刻的一个dump,可以用下面的命令:

 Adplus –hang –pn test.exe –o C:/dumps

该命令立刻把test.exe的full dump 抓到C:/dumps下。

Adplus更灵活的方法就是用-c参数带配置文件。在配置文件里面,可以选择exception发生的时间,生成的dump是mini dump还是full dump,还可以设定断点等等。对于adplus各项参数的选用原则,在最后一章还会作进一步介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值