应用程序验证工具 - 功能
辅助功能
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)的方法。
- 将日志保存到 XML 并在 Excel 中打开它。
- 在 Excel 中,突出显示包含列标题) 的第一行 (。
- 在“数据”菜单上,单击“筛选”,然后单击“自动筛选”。
删除日志
应用程序验证程序允许单独删除日志,或者删除应用程序并删除与其关联的所有日志。
若要单独删除日志,请选择日志并单击“删除”或右键单击该日志,然后选择“删除”。
若要删除应用程序并删除与之关联的所有日志,请右键单击应用程序名称,然后选择“删除”。
删除所有日志:
打开“main应用程序验证程序”窗口。
在“文件”菜单上,选择“ 清除所有日志”。
添加图章
当进程正在运行时,可以将标记添加到其关联的日志文件中。 标记信息可以是任意字符串,例如当前时间。 稍后可以使用此信息作为筛选器来检索感兴趣的日志。
若要将标记添加到日志文件中,请执行以下操作:
选择日志文件,然后单击“ 添加标记”。
输入字符串作为标记信息。
输出选项
默认情况下,在用户帐户下运行的服务/应用的日志存储在 以下: %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 属性。 启用此属性时,缺少调试信息,因此更难诊断错误。
设置/编辑检查的属性
属性与检查相关联,因此请参阅这些主题以获取详细的字段信息。 若要编辑属性,可以采用以下两种方法之一:
单独 - 在属性窗口中,双击要编辑的属性。 这将显示一个对话框,用于编辑项目,并将其设置回默认值。 更改条目并单击“确定”。
组 - 在“测试”区域中,单击需要编辑的测试层或验证层。 使用右键单击选项显示所有属性的屏幕。 更改属性或重置回默认值,然后单击“确定”。