Shims for the Application Verifier Tool (Windows CE 5.0)
When you test an application with the Application Verifier tool, you can select one or more shims with which to test the application. The following table shows shims that are provided with Application Verifier.
Shim | File name | Shim extension command | Description |
---|---|---|---|
Heap Verifier | Shim_heap.dll | HeapVerif | Designed to find memory leaks and heap corruption. This shim can expose bugs such as the use of a memory location after freeing the memory location, the freeing of the same memory location twice, buffer overflow, buffer underflow, and bugs associated with moveable memory blocks. This shim can also inject faults into the application. |
Handle Leak Tracker | Shim_hleak.dll | HLeak | Designed to find leaks of handle types such as registry, file, event, critical section, mutex, and semaphore handle types. |
Shell Verifier | Shim_usergdi.dll | Not applicable. | Designed to find leaked Graphics Device Interface (GDI) objects and user-defined objects. |
You might find it helpful to run a shim, such as the Heap Verifier shim, with a debugger attached to the target device. When you search for memory corruption, it can be easier to track down the source of a problem if you are close to the location where the problem occurs. The Heap Verifier shim raises an exception when it finds memory corruption. If a debugger is attached to the target device, the debugger points to the location where the exception occurred, which might be close to the source of the problem.
If a shim supports the command extension model for Shell.exe, you can interact with the shim from the Target Control window in Microsoft Platform Builder. Alternatively, you can use Shimexp.exe on the target device to enter commands for the shim in the same way that you enter commands in the Target Control window.
A shim is registered as a Target Control extension if the HKEY_LOCAL_MACHINE\Software\Microsoft\TxtShell registry key contains an ExtensionName entry with a value equal to the name of the .dll file or if the shim is loaded with the loadext
command.
See Also
Application Verifier Tool | Testing an Application with the Application Verifier Tool
Send Feedback on this topic to the authors