用 Adplus 自动获取 dump

程序依然有些 crash. 在 UnhandledExceptionFilter 中写 dump 文件. 但有的 crash 还是没能生成 dump. 打算用 ADPlus 来生成, 让 qa 都安装 Windbg. 不过让 qa 每次运行程序还要再运行一下 adplus 还是麻烦. 所以考虑用 IFEO, 运行程序的同时自动加载 adplus.

写成了一个 inf 文件, 放到 windbg 所在目录, 右击/安装 即可:

  1. [Version]
  2. Signature="$CHICAGO$"
  3. Provider=nickx,  2008
  4. [DefaultInstall]
  5. AddReg=conn_AddReg
  6. [conn_AddReg]
  7. hklm,"%conn1_SMWCIc%","debugger",,"cscript ""%01%/adplus.vbs"" -c ""%01%/adplus.cfg"" -CTCL -o ""%dump_folder%"" -lcv -NoDumpOnFirst -quiet -crash -sc "
  8. [Strings]
  9. conn1_SMWCIc="SOFTWARE/Microsoft/Windows NT/CurrentVersion/Image File Execution Options/yourprogram.exe"
  10. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  11. ;;;  SPECIFY DUMP FOLDER HERE
  12. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  13. dump_folder="c:/dumps"
注意, 其中引用了一个 adplus.cfg:

  1. <ADPlus>
  2.     <PostCommands>
  3.         <Cmd>sxi -c "gn;" ld</Cmd>
  4.         <Cmd>sxi -c ".echo;.echo This process is shutting down!;.echo ;.time;~*kvn250;.echo;!runaway" epr</Cmd>
  5.     </PostCommands>
  6. </ADPlus>
用于禁用在程序退出是生成 dump 的行为. 因为我只是需要记录 crash 时的 dump.

贴出来和大家共享. 

你可能感兴趣的:(用 Adplus 自动获取 dump)