Application Verifier

Application Verifier is a runtime verification tool for unmanaged code.

Purpose

Application Verifier assists developers in quickly finding subtle programming errors that can be extremely difficult to identify with normal application testing. Using Application Verifier in Visual Studio makes it easier to create reliable applications by identifying errors caused by heap corruption, incorrect handle and critical section usage.

Where Applicable

Application Verifier can be used with any project in the C++ language during runtime only. If you have selected to run Application Verifier on an application that is managed code or is a mix of managed and unmanaged and running the interop debugger, you will receive the following error:

Application Verifier is not supported for the selected debug mode. Please see the supporting documentation for more information. Click OK to continue debugging without verifier

Selecting OK will not enable Application Verifier and you will continue debugging.

User Requirements

If you are running Windows XP or Windows Server 2003 you will need to be an administrator to run Application Verifier. Otherwise, you will receive the following error:

Access denied. You need administrative credentials to use Application Verifier on image <App_Name.exe> on machine <Machine_Name>. Contact your system administrator for assistance

If you are running Windows Vista under Standard User Access, you will receive the following error message:

Access denied. You need administrative credentials to use Application Verifier on image <App_Name.exe> on machine <Machine_Name> or per user verifier settings should be enabled by the administrator. Please refer to documentation for more information.

Administrator: Per user verifier settings allow standard users to use Application Verifier on Windows Vista. To enable per user verifier settings, administrators will have to create the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manger\ImageExecutionOptions REG_DWORD value in the registry and set it to 0x1. Once the change is made, you will need to reboot the machine and ask the standard user to try accessing Application Verifier again.

System Requirements

Application Verifier runs on Windows XP and above. As a result if you are running Windows 2000, you will receive the following error:

Application Verifier is not supported on the Operating System running on your machine <machine_name>. Please upgrade to Windows XP or above.

An installation of a Windows OS update may be required depending on the service pack installed on your machine. If your machine does not have the updated file, you will receive the following dialog when you access Start with Application Verifier from the Debug menu:

Application Verifier requires an updated system file that is not detected on your machine <machine name>. "Do you want to go to Windows download center to get the update?"

OK | Cancel

Selecting ‘OK' will open an internet browser pointing to the update on the Windows download center and continue the execution of the program in a normal debug session (i.e. Application Verifier will not be enabled). Installing the required update will enable Application Verifier when you try accessing it again. You may also get the update from the Microsoft download center using the following link: https://go.microsoft.com/fwlink/?LinkID=49500.