如何在Windows 10上运行AppVerifier / WinDbg?

克里斯·莫尼斯

我在Windows 10 17134上,并安装了Windows 10 SDK 16299。我实际上有一个较旧的Windows版本和4个不同版本的SDK,但决定升级到最新的Windows版本并卸载我所有的Win10 SDK,并仅安装我们用于项目16299的版本。团队中的一些人能够运行AppVerifier,但大多数不能。

我已经尝试将测试简化为使用基本测试将其简单地连接到Notepad.exe,这就是下面的样子。请注意,保存按钮显示为灰色,因为它确实已保存。如果不单击“保存”,则任何内容都不会生效。AppVerifier记事本设置

然后,当我尝试直接运行notepad.exe时,出现以下错误: 记事本启动错误

这与我在项目中遇到的错误完全相同。现在仔细查看帮助文档,我发现:调试器安装和设置

好的,所以我在安装完整的Windows 10 SDK时拥有WinDbg。然后按照指南运行建议的命令行:

> C:\Program Files (x86)\Windows Kits\10\Debuggers\x86>windbg -xd av -xd
> ch -xd sov notepad.exe

它使用以下输出启动WinDbg,它再次与我们项目的行为匹配: 在此处输入图片说明

我承认,我以前从未使用过WinDbg,也不清楚应该怎么做。我的最初目的是诊断我的项目中的堆损坏。因此,希望有人可以解释为什么它适用于某些人而不适用于其他人,或者我做错了什么。谢谢!

克里斯·莫尼斯

仅需一个附加步骤。在上一张图像的底部,您可以键入命令“ k”以生成调用堆栈。生成此信息:

> # ChildEBP RetAddr  00 0016f3d4 0f758c21 vrfcore!VerifierStopMessageEx+0x599 01 0016f420 0f75b235
> vfbasics!AVrfpSanityCheckAddressRange+0x57
**> *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Windows\SysWOW64\hmpalert.dll** -  02 0016f42c 74485868
> vfbasics!AVrfpRtlEnterCriticalSection+0x15 WARNING: Stack unwind
> information not available. Following frames may be wrong. 03 0016f480
> 74481b37 hmpalert!CVCCP+0x76b8 04 0016f784 77d4f72e
> hmpalert!CVCCP+0x3987 05 0016f848 77d4ecf0
> ntdll!AVrfpSnapDllImports+0x166 06 0016f868 77d4f5a6
> ntdll!AVrfpDllLoadNotificationInternal+0xb4 07 0016f878 77d4e6a5
> ntdll!AVrfpSnapAlreadyLoadedDlls+0x41 08 0016f8a8 77d425dc
> ntdll!AVrfInitializeVerifier+0x19f 09 0016fb14 77d01e92
> ntdll!LdrpInitializeProcess+0x150d 0a 0016fb70 77d01d5c
> ntdll!_LdrpInitialize+0xe0 0b 0016fb80 00000000
> ntdll!LdrInitializeThunk+0x1c

hmpalert.dll是Sophos(Interceptx或Hitman Pro)的一部分。此文件导致应用程序验证程序失败。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章