sources of segmentation error
I know that the most common source of segmentation error comes from the programmer writing/reading from memory that has not been allocated by the operating system yet. I'm experiencing a segmentation fault problem whenever a special case of the program runs, yet I can't find any references in the code where the variable the debugger is complaining about is being read/written illegally. What other highly likely sources are there? What are some of the tools used to find it?
I found the following description when going through the debugger. I'm not sure how much help this would be, but I don't totally understand the explanation in this comment.
* If this ASSERT fails, a bad pointer has been passed in. It may be
* totally bogus, or it may have been allocated from another heap.
* The pointer MUST come from the 'local' heap.