应用程序验证工具 - 功能

辅助功能

Microsoft 致力于使其产品和服务更便于每个人使用。 应用程序验证程序中更易于访问的功能,例如键盘快捷方式、文本阅读器以及更改字体和主题的功能。

使用键盘快捷键

通过使用应用程序验证程序中的键盘快捷方式,可以快速完成以下常见任务。

要执行此操作 使用此键盘快捷方式
添加要测试的应用程序 Ctrl+A
删除应用程序 Ctrl + D
启用所有测试 Ctrl+E
禁用所有测试 Ctrl + I
还原测试默认值 Ctrl + R
保存更改 Ctrl+S
退出应用程序验证程序 Atl + E
打开属性窗口 Ctrl+P
打开日志屏幕 Ctrl + L

日志

验证程序在验证应用程序期间停止时,将生成日志。

访问日志

应用程序验证程序显示一个“日志”窗口,其中包含以前运行的应用程序以及与它们关联的日志。 若要访问日志窗口,请在“视图”菜单上选择“日志”。 若要查看日志的详细信息,请选择应用程序的名称。

显示测试应用的单个日志的应用程序验证程序屏幕截图。

将日志保存/导出到 XML

如果将日志导出到 XML,则可以在 Microsoft Excel 等外部工具中打开日志文件。 若要将日志导出到 XML,请选择应用程序,然后选择要导出的日志。 单击“另存为”,输入要指定文件的名称及其位置,然后单击“保存”。

筛选日志

你可能想要筛选严重性等项的日志信息,以便仅查看警告,或跟踪可以定义自定义筛选器的位置,以便仅显示包含应用程序的项。 若要筛选日志,请使用电子表格(如 Excel)的方法。

  1. 将日志保存到 XML 并在 Excel 中打开它。
  2. 在 Excel 中,突出显示包含列标题) 的第一行 (。
  3. 在“数据”菜单上,单击“筛选”,然后单击“自动筛选”。

删除日志

应用程序验证程序允许单独删除日志,或者删除应用程序并删除与其关联的所有日志。

若要单独删除日志,请选择日志并单击“删除”或右键单击该日志,然后选择“删除”。

若要删除应用程序并删除与之关联的所有日志,请右键单击应用程序名称,然后选择“删除”。

删除所有日志:

  1. 打开“main应用程序验证程序”窗口。

  2. 在“文件”菜单上,选择“ 清除所有日志”。

添加图章

当进程正在运行时,可以将标记添加到其关联的日志文件中。 标记信息可以是任意字符串,例如当前时间。 稍后可以使用此信息作为筛选器来检索感兴趣的日志。

若要将标记添加到日志文件中,请执行以下操作:

  1. 选择日志文件,然后单击“ 添加标记”。

  2. 输入字符串作为标记信息。

输出选项

默认情况下,在用户帐户下运行的服务/应用的日志存储在 以下: %USERPROFILE%\serviceprofiles\AppVerifierLogs

对于在本地服务帐户下运行的服务/应用,日志文件将写入以下位置: %windir%\serviceprofiles\LocalService\AppVerifierLogs

对于在系统帐户下运行的服务/应用,日志文件存储在: %windir%\system32\config\systemprofile\AppVerifierLogs 本机服务和 %windir%\syswow64\config\systemprofile\AppVerifierLogs wow64 服务/应用下。

对于在网络服务帐户下运行的服务/应用,日志文件存储在 以下: %windir%\serviceprofiles\NetworkService\AppVerifierLogs

如果应用程序无权在默认日志文件路径中写入/创建日志文件,则会失败并显示错误0xC0000022。

设置VERIFIER_LOG_PATH环境变量会替代默认日志文件创建。 如果希望将所有日志文件存储在单个位置,这将非常有用。

受保护的进程无权访问环境变量,因此无法创建日志文件。 若要解决此问题,可以使用 AppVerif.EXE 命令行设置受保护的进程日志路径, appverif.exe –sppath <drive:>\<path> 以设置受保护的日志路径。

命令行; appverif.exe –cppath 清除受保护的日志路径。

符号路径 – 符号路径将用于解析日志文件中的堆栈跟踪。 如果未指定符号路径,应用程序验证程序将自动查看_NT_SYMBOL_PATH,以查看其中是否指定了任何符号路径。

From、to – 可以指定起始标记和结束标记。 将只看到日志内容,这些内容在插入“发件人”标记之后和插入结束标记之前记录。 如果未提供“发件人”或“到”标记,应用程序验证程序将分别显示从文件开头到文件末尾的日志。

受保护的进程日志记录

应用程序验证程序日志文件的创建取决于环境变量,例如 VERIFIER_LOG_PATH 和 %USERPROFILE%。 如果受保护 (安全) 进程等进程无法访问这些环境变量,则无法创建日志文件。 以下命令行选项可用于设置/清除受保护的进程日志路径。 仅当进程无法在 VERIFIER_LOG_PATH 或 %USERPROFILE% 下创建日志文件时,才使用此日志路径。

设置受保护的进程日志路径:

appverif –sppath [PROTECTED_PROCESS_LOG_PATH]

例如:以下命令行将受保护的进程日志路径设置为“c:\My Logs\Verifier Logs”。

appverif –sppath c:\My Logs\Verifier Logs

注意:请确保存在“c:\My Logs”,并且受保护的进程有权在此路径中创建文件。

以下命令行显示现有的受保护进程日志路径。

appverif –sppath

若要显示现有受保护的进程日志路径并清除它,请使用以下命令行:

appverif -cppath

请注意,“应用程序验证程序 – 日志”窗口显示已登录用户的 %USERPROFILE% 中的日志文件。 如果希望受保护的进程日志在此 UI 中显示,则需要手动将其复制到 %USERPROFILE%\AppVerifierLogs。

属性窗口

“属性”窗口提供对每个验证层和检查的各种设置的访问权限。

访问属性窗口 - 属性窗口在屏幕的下半部分显示其信息。

若要查看“属性”窗口 - 在“视图”菜单上,选择“属性窗口”。 在“属性窗口”选择旁边显示检查标记。

关闭属性窗口 - 如果需要,可以从视图中删除属性窗口。

若要关闭属性窗口 - 在“视图”菜单上,选择“属性窗口”。 将清除“属性窗口”选择旁边的检查标记。

设置属性

每个验证层都有其自己的属性集来设置和更改。 若要设置验证层的属性,请选择测试区域内的层 (例如“基本信息) ”。 此步骤将显示所选测试的属性。

显示堆测试属性的应用程序验证程序屏幕截图。

设置属性

应用程序验证程序中有两组属性。 一个基于给定验证层中的检查,另一个基于图像 (解决方案或项目) 。 可从属性窗口访问这些属性。

应用程序验证程序显示允许编辑的每个属性的以下信息:

名称 - 每个属性的唯一名称

类型 - 布尔值、DWORD、字符串、MultipleString

- 可更改且因类型而异的元素

说明 - 说明说明属性是什么。

编辑图像的属性

对于在应用程序验证程序中测试的每个图像,可以编辑以下内容。

传播 - 将验证程序设置从父进程传播到子进程。 并非所有测试都可以传播。 如果在选中) (框启用此属性,则会传播设置。 否则,不会传播设置。

AutoClr - 指定映像开始运行后,已验证的映像将清除自身的设置。 如果在选中) 框 (启用此属性,则已验证的图像将清除设置。 否则,它不会清除设置。

AutoDisableStop - 验证程序仅针对发现的相同问题投诉一次。 如果验证程序再次发现同一问题,则不会生成错误。 如果在选中) 框 (启用此属性,则验证程序将仅为给定问题生成一个错误。 否则,每次出现问题时,验证程序都会生成错误。

LoggingOnLocksHeld - 将记录 dll 加载/卸载事件。 验证程序在保留加载程序锁时执行 I/O 操作。 这可能会导致应用程序挂起。 如果在选中) 框 (启用此属性,则会记录事件。 否则,不会记录事件。

ExceptionOnStop – 对于每个验证程序停止,将引发异常,而不是调试中断。 如果此属性 (复选框) 启用,则验证程序报告的每个停止都会引发异常。 否则,验证程序报告的每个停止都会中断到调试器中。

MinimumMemoryOverhead – 通过禁用某些仅用于调试的功能来减少内存开销。 如果在选中) 框 (启用此属性,则会禁用某些功能以减少内存开销。 否则,不会禁用功能。

注意

除非绝对有必要减少内存开销,否则不要启用 MinimumMemoryOverhead 属性。 启用此属性时,缺少调试信息,因此更难诊断错误。

设置/编辑检查的属性

属性与检查相关联,因此请参阅这些主题以获取详细的字段信息。 若要编辑属性,可以采用以下两种方法之一:

单独 - 在属性窗口中,双击要编辑的属性。 这将显示一个对话框,用于编辑项目,并将其设置回默认值。 更改条目并单击“确定”。

组 - 在“测试”区域中,单击需要编辑的测试层或验证层。 使用右键单击选项显示所有属性的屏幕。 更改属性或重置回默认值,然后单击“确定”。

另请参阅

应用程序验证程序 - 概述

应用程序验证工具 - 测试应用程序

应用程序验证工具 - 应用程序验证工具中的测试

应用程序验证工具 - 停止代码和定义

应用程序验证工具 - 调试应用程序验证工具停止

应用程序验证工具 - 常见问题解答