I'm getting an access violation in a program. Windbg shows that the program is trying to read at 0x09015000
. It shows question marks (??
) next to the address. My question is,开发者_开发百科 what do these question marks indicate. Do they mean the memory location was never allocated, i.e. it's not backed by any physical memory (or page file)? Or is it something else?
It means that the virtual address is bad. Possibly a bogus pointer (i.e. uninitialized garbage), freed memory, etc.
Do they mean the memory location was never allocated
That's one possibility. Other options:
- it was allocated before, but has been freed (
VirtualFree()
) - it's not included in the crash dump you analyze. This may depend on the MINIDUMP_TYPE. Also, Procdump has an option (
-mp
) to exclude memory regions larger than 512 MB.
精彩评论