歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下Valgrind的使用概述

Linux下Valgrind的使用概述

日期:2017/2/28 15:43:23   编辑:Linux教程

Valgrind簡介:

Valgrind是動態分析工具的框架。有很多Valgrind工具可以自動的檢測許多內存管理和多進程/線程的bugs,在細節上剖析你的程序。你也可以利用Valgrind框架來實現自己的工具。

Valgrind通常包括6個工具:一個內存錯誤偵測工具,兩個線程錯誤偵測工具,cache和分支預測的分析工具,堆的分析工具。

Valgrind的使用與CPU OS以及編譯器和C庫都有關系。目前支持下面的平台:

- x86/Linux

- AMD64/Linux

- PPC32/Linux

- PPC64/Linux

- ARM/Linux

- x86/MacOSX

- AMD64/MacOSX

Valgrind是GNU v2下的開源軟件,你可以從http://valgrind.org下載最新的源代碼。

Valgrind的安裝:

1.從http://valgrind.org下載最新的valgrind-3.7.0.tar.bz2d,用tar -xfvalgrind-3.7.0.tar.bz2解壓安裝包。

2.執行./configure,檢查安裝要求的配置。

3.執行make。

4.執行make install,最好是用root權限。

5.試著valgrind ls -l來檢測是否正常工作。

Valgrind的概述:

Valgrind時建立動態分析工具的框架。它有一系列用於調試分析的工具。Valgrind的架構是組件化的,所以可以方便的添加新的工具而不影響當前的結構。

下面的工具是安裝時的標准配置:

Memcheck:用於檢測內存錯誤。它幫助c和c++的程序更正確。

Cachegrind:用於分析cache和分支預測。它幫助程序執行得更快。

Callgrind:用於函數調用的分析。

Helgrind:用於分析多線程。

DRD:也用於分析多線程。與Helgrind類似,但是用不同的分析技術,所以可以檢測不同的問題。

Massif:用於分析堆。它幫助程序精簡內存的使用。

SGcheck:檢測棧和全局數組溢出的實驗性工具,它和Memcheck互補使用。

Copyright © Linux教程網 All Rights Reserved