Valgrind
From PortaWiki
Valgrind ports exist for several platforms now.
Running valgrind on different platforms can pick up portability bugs.
Such bugs can be the result of assumptions on data alignment or type size.
For example: not many people know that even though pp32 and pa-risc (32 bit) are 32bit architectures, they do like to align things to 64bit boundaries. Making this assumption can cause you to write incorrect code (MySQL Cluster had a bug because of this - valgrind on ppc32 found it)
