Sunday, November 20, 2005

What is Application Verifier?

What is Application Verifier?
Application Verifier is a Visual Studio tool that exposes instrumentation already present in the Windows operating system. The instrumentation performs runtime verification of running executables in selected areas like memory allocation, critical section usage, and handle usage.

What does Application Verifier detect?
Application Verifier detects runtime problems in the area of memory allocation, detects overrun or heap-allocated blocks, reuse-after-delete, double-delete, and heap contamination. In the area of critical section usage it detects operations that may lead to deadlocks or resource leaks. In the area of handle usage, it detects attempts to reuse handles after they are no longer valid.

How does Application Verifier work?
The Application Verifier tool enables the OS instrumentation for the given executable image for the duration of a debug session. The OS changes the API layer towards the application and intercepts calls, redirecting them to a validation layer. When a violation is detected, a suitable exception is generated, and the Application Verifier tool provides relevant context for the detected violation.

A recently published KB article details a bug with Application verifier where errors in the application may not be verified. This issue may occur if the following conditions are true:

•You have installed the stand-alone version of the Application Verifier from the Microsoft Download Center.

OR

•You have enabled verifier settings using both versions of the Application Verifier for the same application.

To resolve this issue, delete the settings for the application in the stand-alone Application Verifier. To do this, follow these steps:

1.Click Start, and then click Application Verifier.
2.In the stand-alone Application Verifier, right-click the name of the application that you want to stop testing, and then click Delete Application.
3.Click Save to save your changes in the stand-alone Application Verifier.

To test the application, follow these steps:
1.In Visual Studio 2005 Team System, open the application.
2.On the Debug menu, click Start with Application Verifier.The Application Verifier now reports any errors in the application.

For more information visit http://msdn.microsoft.com/vstudio/teamsystem/support/faqs/developer_faq/ and http://www.kbalertz.com/Feedback_911142.aspx

No comments: