All the tools is in the link
Valgrind is an award-winning suite of tools for debugging and profiling Linux programs. With the tools that come with Valgrind, you can automatically detect many memory management and threading bugs, avoiding hours of frustrating bug-hunting, making your programs more stable. You can also perform detailed profiling, to speed up and reduce memory use of your programs.
The Valgrind distribution currently includes four tools: a memory error detector, a cache (time) profiler, a call-graph profiler, and a heap (space) profiler. It runs on the following platforms: X86/Linux, AMD64/Linux, PPC32/Linux, PPC64/Linux.
Findstatic is a simple perl script for finding functions or variables in a project that might be able to be made static. Once you make them static then the compiler should tell you if they aren't called at all and can be removed completely.
Download and run findstatic.pl
Tridge's junk code
There are lots of resources in this web site
This is a collection of bits of code that I have written over the years but that hasn't ever been released as a full project. There are lots of bits and pieces in here that I'm sure will be useful to someone.
The reason I call this 'junkcode' is that I have no plans to properly document, package or support this code. If you find it useful then that's great, but I already have enough free software projects to keep me busy so I won't be spending a lot of time on this stuff.
gcov is a tool you can use in conjunction with GCC to test code coverage in your programs.
* Gcov Intro: Introduction to gcov.
* Invoking Gcov: How to use gcov.
* Gcov and Optimization: Using gcov with GCC optimization.
* Gcov Data Files: The files used by gcov.
* Cross-profiling: Data file relocation.