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
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:
- Click Start | Programs | Application Compatibility Toolkit | AppVerifier
- Click the Add button
- 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
- Detect heap corruptions
- 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
- Clear session logs when test settings are changed