CUP: Comprehensive User-Space Protection for C/C++
Valgrind: a framework for heavyweight dynamic binary instrumentation