Using C++ and discovered today during a demo that I'm suffering from a corrupted heap (but only on important occasions!!). I found a few posts here on SO and decided to download Application Verifier and Debugging tool. I am current running Visual Studio 2010.
So, now I'm left with an installtion of the the debugging tool where I get a folder called Windows Kits. In the folder I have an app called WinDbg where I tried to open my app and run it. It worked fined but I was not able to get any info about my heap corruption. Then I installed the verifier which only left me with a header file and a .dll file which I dont know what to do with.
So, could anyone please tell me how to use this tool so that I dont have to suffer anymore embarrassing moments like these? Been searching in forums and since I dont even know how to open the verifier, I'm truly lost when I read the instructions how to use it (from 2009)
App Verifier will install a AppVerif.EXE
executable. Run it, and tell it to verify your application. Then run your application in a debugger (either WinDBG or your IDE).
Consider using the Application Verifier in conjunction with the Visual Studio debugger.
- Start Visual Studio and compile your application
- Start the application Verifier utility.
File
=> Add Application
- Select the appropriate
Tests
(e.g. heaps, exceptions,...)
- Use Visual Studio
Debug
to start your application.
When something bad happens... your debugger will stop. This should give you a pretty good idea of the source of the problem.
Also, it might help to load the missing symbols before starting your test. In Visual Studio 2017, you can do this by:
Debug
Options and Settings
Debugging
Symbols
Load all symbols
Good luck!
NOTE: When you are done, be sure to disable the AppVerfier checks that you enabled... otherwise you may experience some unexpected side-effects 6 months down the road when you have forgotten about AppVerifier.
REFERENCES
- MSDN: "Application Verifier" article
- Download: Application Verifier
- I believe it is also included with the various Windows SDKs (previously known as Platfrom SDK)
- Be mindful that you may have two versions installed:
C:\Windows\SysWOW64\appverif.exe
[32 bit version]
C:\Windows\System32\appverif.exe
[64 bit version]
- TechNet: Two Minute Drill: Application Verifier