I download the Application Verifier 4.0 to test my App for check if could have problems on Vista/7.
I run from Delphi 2010 debugger, and stop in CPU view. Obviously, I don't understand anything about assembler!.
So, I try running directly from the windows explorer, and the App die.
(In fact, I don't understand well what exactly will do App Verifier: I expect some kind of friendly message).
This is what i get:
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
Loading:
: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
Launch Microsoft's Application Verifier. Select File | Add Application from the main menu and choose the sample executable in the ensuing Open File dialog. Verifier will display the executable in the Applications list. On the right, you can select the tests to be performed over the tested application.
Application Verifier (AppVerifier) is a runtime verification tool for unmanaged code that assists in finding subtle programming errors, security issues and limited user account privilege problems that can be difficult to identify with normal application testing techniques.
To uninstall the Application Verifier, access the control panel by clicking Start, select Add or Remove Programs, then Remove a program, click Application Verifier, and then click Remove.
Application Verifier is a GUI wrapper around a bunch of registry settings.
When you add your application to Application Verifier, it tells Windows to do more checking when your application is running.
After you've added your application, you can close Application Verifier; the settings are saved.
Now, any time you run your application, Windows will do extra checking for various conditions (as specified via Application Verifier).
Some of the checks will result in DebugBreak() being called. (This is why your application dies when you run it under Windows Explorer.)
You must run your application under a debugger so that you can see where the problems occur.
I know very little about Delphi 2010; if it's creating managed code, you may have problems, as the breakpoints will occur in native code, and your debugger (Delphi's debugger) would need to be able to debug mixed native/managed code.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With