valgrind的使用

valgrind是一個開源的內存管理框架,valgrind是用於構建動態分析工具的探測框架,它包括一個工具集,每個工具執行某種類型的調試,分析或類似的任務。valgrind的框架是模塊化的,所以很容易的創建新的工具而不會影響原有的框架。


許多有用的工具被作爲標準而提供。

  1. Memcheck是一個內存錯誤檢測器。它有助於使你的程序,尤其是那些用C和C++寫的程序,更加準確。
  2. Cachegrind是一個緩存和分支預測分析器。它有助於使你的程序運行更快。
  3. Callgrind是一個調用圖緩存生成分析器。它與Cachegrind的功能有重疊,但也收集Cachegrind不收集的一些信息。
  4. Helgrind是一個線程錯誤檢測器。它有助於使你的多線程程序更加準確。
  5. DRD也是一個線程錯誤檢測器。它和Helgrind相似,但使用不同的分析技術,所以可能找到不同的問題。
  6. Massif是一個堆分析器。它有助於使你的程序使用更少的內存。
  7. DHAT是另一種不同的堆分析器。它有助於理解塊的生命期、塊的使用和佈局的低效等問題。
  8. SGcheck是一個實驗工具,用來檢測堆和全局數組的溢出。它的功能和Memcheck互補:SGcheck找到Memcheck無法找到的問題,反之亦然。
  9. BBV是個實驗性質的SimPoint基本塊矢量生成器。它對於進行計算機架構的研究和開發很有用處。


內存檢測:

valgrind --tool=memcheck --leak-check=full ./test;

如果要檢測調用信息,則使用valgrind --tool=callcheck ./test,別的工具使用方法類似。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章