Linux系统下,当一个进程立在眼前的时候,如何审视这个进程的优劣?
Valgrind,开源的一把利剑,可以帮我们“庖丁解牛”,其包括如下一些工具:
1. Memcheck:是valgrind应用最广泛的工具,一个重量级的内存检查器,能够发现开发中绝大多数内存错误使用情况,比如:使用未初始化的内存,使用已经释放了的内存,内存访问越界等。
2. Callgrind:主要用来检查程序中函数调用过程中出现的问题。
3. Cachegrind:主要用来检查程序中缓存使用出现的问题。
4. Helgrind:主要用来检查多线程程序中出现的竞争问题。
5. Massif:它主要用来检查程序中堆栈使用中出现的问题。
6. Extension:可以利用core提供的功能,自己编写特定的内存调试工具。
valgrind架构图
![Valgrind---审视者的利剑 - 那海蓝蓝 - 那海蓝蓝的博客 Valgrind---审视者的利剑 - 那海蓝蓝 - 那海蓝蓝的博客](http://img8.ph.126.net/ExH53_Aa3s9jLbd57Y31ng==/2717359425181644398.jpg)