一个很牛X的排错工具--valgrind

valgrind是linux下一款开源的程序排错工具,其以非注入方式运行,仅要求程序以debug模式编译即可,不要求在程序中插入任何代码。valgrind模仿debug工具,以调试模式跟踪运行用户程序,可以提供包括内存问题检查、线程同步问题、信号处理问题等,并提供了一系列附加工具。举例:

如下命令检查死锁

valgrind --tool=helgrind  --log-file=check.log --error-limit=no [yourprogram] [yourargs]

如下检查多线程并发问题

valgrind --tool=drd  --exclusive-threshold=100  --log-file=check.log --error-limit=no [yourprogram] [yourargs]

 

如下检查内存泄露

valgrind --tool=memcheck --leak-check=full --show-reachable=yes --log-file=check.log --error-limit=no [yourprogram] [yourargs]

 



你可能感兴趣的:(valgrind,debug,linux)