You can use 'ba' (Break on Access) to define a breakpoint that hits when the portion of memory is read and/or modified.
ba w4 myPointer will cause the debugger to break, whenever myPointer is modified (assume a 32bit system)
Wednesday, June 07, 2006
How to find out what code modifies memory
How to debug double deletes / access after delete
It can happen that you come along an access violation but the source of the error has occured long time back in the past, because your code tries to access memory that has alreafy been freed.
I order to debug such a scenario you need to enable full page heap:
gflags -p /enable YourApp.exe /full
Then do the stuff to reproduce the AV. When you get it type this:
!heap -p -a [address of AV]
If you have luck you will get the call call stack of deallocation.
Subscribe to:
Posts (Atom)