Application Verifier 自动创建过程转储文件
Application Verifier Automatic Process Dump File Creation
我知道如何手动使用 AppVerif 以及 windbg 来调试进程问题,但我正在组装一个自动化系统来 运行 在没有用户存在的情况下进行一系列压力测试。
我需要一种方法来在 AppVerif 发现问题时生成进程转储并继续(假设它是非致命错误)。
有没有办法正确配置 AppVerif 以仅生成进程的转储而不是中断,或者我是否必须附加 windbg 并以某种方式自动化它以在遇到中断时创建转储,然后继续。
不,这不是 appverif.exe 的内置功能。这不是真正的问题,您可以使用另一个程序来生成小型转储。喜欢 SysInternals' ProcDump utility.
运行 appverif.exe 配置您的测试应用程序。您想要更改 ExceptionOnStop 属性(底部 window)。将其设置为 TRUE,以便在测试失败时抛出异常。
然后 运行 使用 procdump 进行测试,告诉它使用 -e
参数在未处理的异常上生成转储。例如:
c:\bin\procdump -e -x . broken.exe
我在 broken.exe 上尝试时看起来像这样,它故意破坏了句柄:
ProcDump v7.1 - Writes process dump files
Copyright (C) 2009-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
With contributions from Andrew Richards
Process: broken.exe (5892)
CPU threshold: n/a
Performance counter: n/a
Commit threshold: n/a
Threshold seconds: 10
Hung window check: Disabled
Log debug strings: Disabled
Exception monitor: Unhandled
Exception filter: *
Terminate monitor: Disabled
Cloning type: Disabled
Concurrent limit: n/a
Avoid outage: n/a
Number of dumps: 1
Dump folder: .\
Dump filename/mask: PROCESSNAME_YYMMDD_HHMMSS
Press Ctrl-C to end monitoring without terminating the process.
[11:23:30] Exception: C0000008.INVALID_HANDLE
[11:23:30] Exception: C0000421
[11:23:30] Unhandled: C0000421
[11:23:30] Dump 1 initiated: .\broken.exe_150713_112330.dmp
[11:23:30] Dump 1 complete: 1 MB written in 0.0 seconds
[11:23:31] Dump count reached.
您可能想要更改写入转储文件的位置并添加一些自动化,以便在生成转储时收到通知。
我知道如何手动使用 AppVerif 以及 windbg 来调试进程问题,但我正在组装一个自动化系统来 运行 在没有用户存在的情况下进行一系列压力测试。
我需要一种方法来在 AppVerif 发现问题时生成进程转储并继续(假设它是非致命错误)。
有没有办法正确配置 AppVerif 以仅生成进程的转储而不是中断,或者我是否必须附加 windbg 并以某种方式自动化它以在遇到中断时创建转储,然后继续。
不,这不是 appverif.exe 的内置功能。这不是真正的问题,您可以使用另一个程序来生成小型转储。喜欢 SysInternals' ProcDump utility.
运行 appverif.exe 配置您的测试应用程序。您想要更改 ExceptionOnStop 属性(底部 window)。将其设置为 TRUE,以便在测试失败时抛出异常。
然后 运行 使用 procdump 进行测试,告诉它使用 -e
参数在未处理的异常上生成转储。例如:
c:\bin\procdump -e -x . broken.exe
我在 broken.exe 上尝试时看起来像这样,它故意破坏了句柄:
ProcDump v7.1 - Writes process dump files
Copyright (C) 2009-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
With contributions from Andrew Richards
Process: broken.exe (5892)
CPU threshold: n/a
Performance counter: n/a
Commit threshold: n/a
Threshold seconds: 10
Hung window check: Disabled
Log debug strings: Disabled
Exception monitor: Unhandled
Exception filter: *
Terminate monitor: Disabled
Cloning type: Disabled
Concurrent limit: n/a
Avoid outage: n/a
Number of dumps: 1
Dump folder: .\
Dump filename/mask: PROCESSNAME_YYMMDD_HHMMSS
Press Ctrl-C to end monitoring without terminating the process.
[11:23:30] Exception: C0000008.INVALID_HANDLE
[11:23:30] Exception: C0000421
[11:23:30] Unhandled: C0000421
[11:23:30] Dump 1 initiated: .\broken.exe_150713_112330.dmp
[11:23:30] Dump 1 complete: 1 MB written in 0.0 seconds
[11:23:31] Dump count reached.
您可能想要更改写入转储文件的位置并添加一些自动化,以便在生成转储时收到通知。