程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Valgrind的使用

Valgrind的使用

編輯:關於C語言

valgrind是GPL軟件,用於LINUX系統的內存調試和代碼分析,可以在代碼中監視內存的使用情況,比如C語言中的malloc和free,c++中的new和delete
使用valgrind可以檢查內存和線程中的BUG。
valgrind包含許多工具,比如memcheck ,cachegrind,helgrind,callgrind,massif
memcheck主要檢查以下錯誤
1.使用未初始化的內存
2.使用已經釋放的內存
3.使用超過malloc分配的內存空間
4.對堆棧的非法訪問
5.申請的空間是否有釋放
6.malloc/free和new/delete是否匹配
7.src/dst的重疊
cachegrind的功能
它模擬CPU的緩存,能夠精確的指出程序的內存的丟失和命中,如果需要還能為我們提供cache的丟失次數
helgrind為我們分析多線程中出現的問題,比如競爭,鎖定等狀態
massif堆棧分析器
它能測量程序在堆棧區中使用了多少內存,它告訴我們堆管理塊,棧大小,堆塊大小
valgrind的使用
適用於Memcheck工具的相關選項:
-leak-check=no|summary|full 要求對leak給出詳細信息? [summary]
-leak-resolution=low|med|high how much bt merging in leak check [low]
-show-reachable=no|yes show reachable blocks in leak check? [no]

作者“舞者博客”

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved