Appverify not catching C++ heap corruption

304 views Asked by At

I have a Windows C++ program that is pretty obviously heap corruption, but when I run AppVerify it reports no errors. AppVerify does catch those things, right?

I've got a MFC application, and it crashes half way through, and I believe it is heap corruption because variables that are set at the beginning and aren't modified after that are changing value.

Ran Appverifier as Admin and pointed it at my program, selecting all the basic error checking.

AppVerifier adding my program:

AppVerifier adding my program

Ran Visual Studio (as me, not admin) and ran the program until it crashed. Ran AppVerifier as me and viewed logs and it reported 0 warnings, 0 errors.

AppVerfied reporting 0 errors and 0 warnings:

AppVerfied reporting 0 errors and 0 warnings

Do I not understand what AppVerifier does, or am I using it wrong?

1

There are 1 answers

2
jdigital On BEST ANSWER

(1) your variables may not be on the heap.
(2) with C++ you have great power, and it's easy to make mistakes that diagnostics tools won't see.

suggestion: try running your program under the debugger to get a better understanding of its behavior and to see if you can spot where things go wrong.