I’m running my C++ program in gdb. I’m not real experienced with gdb, but I’m getting messages like:
warning: HEAP[test.exe]: warning: Heap block at 064EA560 modified at 064EA569 past requested size of 1
How can I track down where this is happening at? Viewing the memory doesn’t give me any clues.
Thanks!
So you’re busting your heap. Here’s a nice GDB tutorial to keep in mind.
My normal practice is to set a break in known good part of the code. Once it gets there step through until you error out. Normally you can determine the problem that way.
Because you’re getting a heap error I’d assume it has to do with something you’re putting on the heap so pay special attention to variables (I think you can use print in GDB to determine it’s memory address and that may be able to sync you with where your erroring out). You should also remember that entering functions and returning from functions play with the heap so they may be where your problem lies (especially if you messed your heap before returning from a function).