2008/5/27 Steven Edwards winehacker@gmail.com:
On Tue, May 27, 2008 at 5:29 AM, Steven Edwards winehacker@gmail.com wrote:
Hmm actually I thought prefast had a way to profile running code rather than just static analysis but I guess not. I must have been thinking of the Driver Verifier. I think valgrind might actually be useful then as I don't know of a free profiler for userland code on windows.
OK no more 5AM spam after this, I promise. This is what I was thinking of
http://www.microsoft.com/downloads/details.aspx?FamilyID=bd02c19c-1250-433c-...
The Application Verifier. If we want to help windows developers move over, we should try to get this working.
While Win32 application developer may use MS's Application Verifier to debug heap overruns (using the Page Heap feature), I believe Valgrind is much superior in doing this and Valgrind logs errors about heap under-runs and accessing invalid memory on the stack.
There are other features available in the Application Verifier (information on MSDN is 404 so this is from memory) like randomly returning NULL from HeapAlloc/HeapReAlloc to ensure that the program doesn't crash in OOM situations, but I believe this is provided by turning on options in the Heap implementation rather than any magic in the Application Verifier itself.