Is there an open source and (relatively) simple-to-use dynamic code analysis tool for C++ code?
Something like IBM Purify (memory corruption detection, memory leak d
Try Valgrind. It is not as powerful as IBM Purify, but it works quite fine...
CodeCompass is quite good as well.
Although it has quite the dependencies compared to Valgrind and Duma, it's a quality analysis tool.
The software that is widely used (on Linux at least) is Valgrind. It has a lot of sub tools used to do what you are looking for.
There is also KCacheGrind which is a GUI frontend to the profiling tool of Valgrind, AKA Cachegrind.
Try Duma (Detect Unintended Memory Access).