Here is a FAQ provided by the Application Verifier team to answers some of the most common questions about the Application Verifier tool that is included with Visual Studio Team Suite and Team Developer Editions.
Q: What is Application Verifier?
A: Application Verifier is a runtime verification tool used to find bugs in Windows applications. Application Verifier is supported only for native (unmanaged) code. Since it is a runtime tool, the application code needs to be exercised in order to be verified. Good test coverage is therefore essential.
Q: How can I get Application Verifier?
A: There are two versions of Application Verifier:
- A stand alone version that can be downloaded from http://www.microsoft.com/downloads/details.aspx?FamilyID=bd02c19c-1250-433c-8c1b-2619bd93b3a2&DisplayLang=en
- The integrated Application Verifier included in the Visual Studio Team Suite and Visual Studio Team System for Developers versions of Visual Studio 2005.
Q: What are the differences between the standalone version and the integrated version?
A: The major differences are:
- Only a subset of the checks available in the standalone version is available in the integrated version. Heaps, Handles and Locks checks are available in Visual Stdio.
- With the standalone version, the user needs to enable verifier settings using the tool and then launch his application. The verifier settings persist until the user deletes them using the tool. With the integrated version, verifier settings can be altered in the project property pages. These settings are applicable only when the user chooses to debug the application using Application Verifier by clicking on Debug->Start With Application Verifier.
Q: How do I launch my app using Application Verifier in Visual Studio?
A: Open your VC++ project in Visual Studio. Go to project properties and select "Application Verifier," enable desired settings or leave them at their default settings (all the checks are enabled by default). Click on Debug->Start With Application Verifier to start debugging with application verifier enabled.
Q: Why do I get the following message when I click on Debug->Start With Application Verifier?
""Access denied. You need administrative credentials to enable instrumentation settings on the selected executable image <<Image_Name>> on machine <<Machine_Name>>. Contact your system administrator for assistance"
A: You need administrative credentials to use Application Verifier
Q: What Operating Systems support Application Verifier?
A: Application Verifier is supported on Windows XP and Windows 2003. The following message is displayed on Windows 2000 when the integrated Application Verifier is used: "Application Verifier is not supported on the Operating System running on your machine <<Machine_Name>>. Please upgrade to Windows XP or above"
Q: Why am I getting the following message?
"Application Verifier requires an updated system file that is not detected on your machine <<Machine_Name>>. Do you want to go to the Windows download center to get the update?"
A: Your current Operating System requires an update in order to use Application Verifier. Clicking on OK will take you to the Microsoft download center where you can get the update.
Q: What kinds of errors are caught by the integrated Application Verifier in VS?
A: The integrated Application Verifier catches heap, handle and lock errors in native win32 applications. The most common of these are memory corruptions, which are very hard to troubleshoot. It catches invalid handle usage and invalid critical section usage as well. Application Verifier makes these difficult debugging problems easier to solve.
Q: Where can I find more information on Application Verifier?
A: MSDN has great documentation on both the standalone and the integrated Application Verifier.Thursday, April 20, 2006 7:59 PM