The Application Verifier, AppVerifier, tool was developed by the Application Experience team at Microsoft to assist with testing applications running under XP for commonly encountered application compatibility issues as well as some very subtle kernel issues. The Application Verifier tool shipped with Windows XP and can be found in the /Support/Tools folder on the CD-ROM. To install AppVerifier on your Windows XP system:
Insert the Windows XP CD-ROM
Double-click ACT.EXE
Accept defaults for the Setup
AppVerifier can be found in the Application Compatibility Toolkit group on the Start menu.
This is not JUST a developers tools. Its an admins tool. Having a problem with an application? Want to learn what the application does? Run it while being monitored by AppVerifier then study the log generated. To monitor an application:
Browse to the folder location of the application and select the executable file to test.
Click the Open button when you have the file selected.
In the Test Settings pane, select the tests you want to perform from the following list:
Detect heap corruptions
This test performs regular checks of the heap and adds guard pages at the end of each allocation to catch possible heap overruns.
Locks usage checking
This test looks for common errors with locks. The output is displayed in a separate debugger application. Note that this test may cause access violations if an error is found.
Detect invalid handle usage
Checks for common problems with handles. The output is displayed in a separate debugger application. Note that this test may cause access violations if an error is found.
Thread stack size checking
This test disables stack growth. This will cause a stack overflow exception if the initial allocation was too small.
LogStartAndStop
This option simply enters log information when the application starts or stops. This helps to make the logs easier to read when reviewing test data.
FilePaths
This test monitors the application's attempts to obtain file path information to see if the program uses hard-coded paths, or a non-standard method of gathering the information. Note that this test may cause the application to crash if an improper method of determining file paths is used.
HighVersionLie
In the past, many applications have been written to run on a single version of Windows. This test will return a very high version number when the application attempts to determine which version of Windows it is running in.
RegistryChecks
This test monitors the application's use of the system registry for any inappropriate or dangerous calls. Any problems detected will be logged.
as you can see from the list, AppVerifier, will generate a wide spectrum of information on an application
Click Options button to toggle on/off
Clear session logs when test settings are changed
Break to the debugger when event logged (requires debugger)
Use full page heap
Use AppVerifier debugger to get crash logs and log kernel checks