windows - Application Verifier 自动创建过程转储文件

标签 windows windows-services windbg application-verifier

我知道如何手动使用 AppVerif 和 windbg 来调试进程问题,但我正在组装一个自动化系统以在没有用户在场的情况下运行一系列压力测试。

我需要一种方法来在 AppVerif 发现问题时生成进程转储并继续(假设这是一个非 fatal error )。

有没有办法正确配置 AppVerif 以仅生成进程转储而不是中断,或者我是否必须附加 windbg 并以某种方式使其自动化以在中断发生时创建转储,然后继续.

最佳答案

不,这不是 appverif.exe 的内置功能。这不是真正的问题,您可以使用另一个程序来生成小型转储。喜欢SysInternals' ProcDump utility .

运行 appverif.exe 以配置您的测试应用。您想要更改 ExceptionOnStop 属性(底部窗口)。将其设置为 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.

您可能想要更改写入转储文件的位置并添加一些自动化,以便在生成转储时收到通知。

关于windows - Application Verifier 自动创建过程转储文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31326406/

相关文章:

windows - InstallShield 2011 在系统上下文中立即执行

html - 输出带有自己的 <TR> ID 的合并 HTML

wpf - WPF 的最佳 UI 组件集是什么?

.net - 使用命令提示符安装 Windows 服务

windows - windbg 首先连接然后在内核调试期间停留在 "Debuggee not connected."消息上

python - 如何为 python 解析 Windows inf 文件?

c# - 如何安全地停止在 Windows 服务中运行的 C# .NET 线程?

windows-services - 在 Windows 服务中使用 MEF?

windbg - 如何使用windbg根据参数值设置条件断点

windows - 使用用户模式转储确定 WinDbg 中的线程等待时间