If you want something that runs (only) on Linux, you might check out Valgrind:
http://developer.kde.org/~sewardj/
Essentially it works by running your process in a sort of virtual machine environment, so it can detect all sorts of weirdness, but it can slow down your process quite a bit. Assuming that's not a problem for you, this may be a good tool.
Tony,
Thanks. Installed it and gave it a quick try. Looks promissing.
Andy