|
-
December 19th, 2011, 07:11 AM
#1
Debugging suspected memory overwrite
Hello,
My team and I have been creating some software from a large engine that we have complete access to but are not hugely familiar with.
The software crashes intermittently, when the crash does crop up with some amount of reliance, any changes made to the software (to log function calls etc) stop it from occurring.
This has lead us to believe that we have some form of memory overwrite. I have personally been through every single memory allocation and array in the software to look for any obvious mis-use or lack of bounds checking to no avail. Fortunately, we mostly use stl containers so it wasn't too rough for the software, however, we don't have the luxury of time to do the same with the engine.
I was hoping that any readers of this thread would have some suggestions to help track down memory overwrites. All suggestions would be greatly appreciated.
One method I have seen a few times whilst searching, is to overload new and delete, then add a buffer to the beginning and end. Upon deletion of the object if the buffer has any data in it, there has been an overwrite.
I am not very technical so this solution seems somewhat daunting, if anyone has used this technique or has any further/related reading on it, I would be equally appreciative of you sharing such information.
Thank you for reading,
nixius
Edit: using C++ and VS2010, Windows7.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|