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各项参数的选用原则,在最后一章还会作进一步介绍。