Testing applications under XP with AppVerifier

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
    • 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

    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
Check Application Compatibility Toolkit for updated information.

Leave a Comment

Your email address will not be published.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top