2011年9月20日 星期二

valgrind 的其他用途

valgrind 是一個常被 programmer 拿來偵測 memory leaks 的利器。不過除了偵測記憶體錯誤以外,其實它還提供了其他有用的工具,只是 valgrind 以 memcheck 作為預設工具。

以下是 valgrind 提供的工具清單:

  1. memcheck
    偵測 runtime 記憶體錯誤與 memory leaks。
  2. callgrind
    提供類似 gprof 的 profiling 功能,記錄函數被呼叫的次數。不同的是它可以在 runtime 即時監控。
  3. cachegrind
    快取命中的 profiler,改善快取失誤可以提昇程式效能。
  4. massif
    heap 的 profiler,記錄記憶體使用量。
  5. helgrind
    thread 的 debugger,主要是用來偵測資料的 race condition。