There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail. You can also use Valgrind to build new tools.
Valgrind and GDB: Tame the Wild C
Watching for software inefficiencies with Valgrind
deadstores: A Valgrind tool for finding redundant loads/stores
CFGGrind: Dynamic Control Flow Graph Reconstruction
Taintgrind: A taint-tracking plugin for the Valgrind memory checking tool
Last modified 22 June 2021