gpt4 book ai didi

delphi - 如何使用 Application Verifier 4.0 测试 Delphi 应用程序?

转载 作者:行者123 更新时间:2023-12-03 15:10:51 24 4
gpt4 key购买 nike

我下载了 Application Verifier 4.0 来测试我的应用程序,检查在 Vista/7 上是否存在问题。

我从 Delphi 2010 调试器运行,并在 CPU View 中停止。显然,我对汇编程序一无所知!

因此,我尝试直接从 Windows 资源管理器运行,但应用程序死掉了。

(事实上,我不太明白应用程序验证器到底会做什么:我期望某种友好的消息)。

这就是我得到的:

7C81A3E2 C3               ret 
7C81A3E3 90 nop
7C81A3E4 8BFF mov edi,edi
ntdll.DbgUserBreakPoint:
7C81A3E6 CC int 3
7C81A3E7 C3 ret
7C81A3E8 8BFF mov edi,edi
7C81A3EA 8B442404 mov eax,[esp+$04]
7C81A3EE CC int 3
7C81A3EF C20400 ret $0004
ntdll.NtCurrentTeb:
7C81A3F2 64A118000000 mov eax, fs:[$00000018]
7C81A3F8 C3 ret
ntdll.RtlInitString:
7C81A3F9 57 push edi

加载中:

:7c81a3e2 ntdll.DbgBreakPoint + 0x1
:10003b68 ; C:\WINDOWS\system32\vrfcore.dll
:00396a9d ; C:\WINDOWS\system32\vfbasics.dll
:00397316 ; C:\WINDOWS\system32\vfbasics.dll
:7c84bcdb ; ntdll.dll
:7c8316f8 ; ntdll.dll
:7c83154f ; ntdll.dll
:7c82855e ntdll.KiUserExceptionDispatcher + 0xe
:0040aa00 GetUILanguages + $80
:0040b298 GetResourceModuleName + $124
:0040afde LoadResourceModule + $7A
:0040a134 DelayLoadResourceModule + $2C
:00406c40 @StartExe + $44
:77e6f23b ; C:\WINDOWS\system32\KERNEL32.dll

最佳答案

应用程序验证器是一组注册表设置的 GUI 包装器。

当您将应用程序添加到应用程序验证器时,它会告诉 Windows 在您的应用程序运行时进行更多检查。

添加应用程序后,您可以关闭应用程序验证器;设置已保存。

现在,每当您运行应用程序时,Windows 都会对各种条件进行额外检查(通过应用程序验证器指定)。

某些检查将导致调用 DebugBreak()。 (这就是当您在 Windows 资源管理器下运行应用程序时它会死掉的原因。)

您必须在调试器下运行应用程序,以便可以看到问题发生的位置。

我对Delphi 2010知之甚少;如果它创建托管代码,您可能会遇到问题,因为断点将出现在 native 代码中,并且您的调试器(Delphi 的调试器)需要能够调试混合的 native /托管代码。

关于delphi - 如何使用 Application Verifier 4.0 测试 Delphi 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2549907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com