Valgrind 審視者的利劍

2021-07-28 11:10:08 字數 521 閱讀 9795

linux系統下,當乙個程序立在眼前的時候,如何審視這個程序的優劣?

valgrind

1. memcheck

valgrind

應用最廣泛的工具,乙個重量級的記憶體檢查器,能夠發現開發中絕大多數記憶體錯誤使用情況,比如:使用未初始化的記憶體,使用已經釋放了的記憶體,記憶體訪問越界等。

2. callgrind主要用來檢查程式中函式呼叫過程中出現的問題。

3. cachegrind主要用來檢查程式中快取使用出現的問題。

4. helgrind主要用來檢查多執行緒程式中出現的競爭問題。

5. massif它主要用來檢查程式中堆疊使用中出現的問題。

6. extension可以利用

core

提供的功能,自己編寫特定的記憶體除錯工具。

valgrind架構圖

設計模式利劍19 訪問者模式

目 的 封裝一些施加於某種資料結構元素之上的操作。一旦這些操作需要修改的話,接受這個操作的資料結構則可以保持不變。定 義 封裝一些作用於某種資料結構中的各元素的操作,它可以在不改變資料結構的前提下定義作用於這些元素的新的操作 優 點 1.訪問者模式使得增加新的操作變得很容易。如果一些操作依賴於乙個複...

Valgrind工具的使用

本文參考自 一 valgrind介紹 valgrind是執行在linux上一套基於 技術的程式除錯和分析工具,它的主要作者是獲得過google o reilly開源大獎的julian seward,它包含乙個核心 乙個軟體合成的cpu,和一系列的小工具,每個工具都可以完成一項任務 除錯,分析,或測試...

Valgrind的記憶體洩露

有多種方法來定義 記憶體洩漏 特別地,在程式設計師中通常使用的 記憶體洩漏 的兩個主要定義。記憶體洩漏 的第乙個常用定義是 記憶體已分配,並且在程式終止之前不會被釋放。然而,許多程式設計師 正確地 認為,符合該定義的某些型別的記憶體洩漏實際上不會引起任何問題,因此不應該被認為是真正的 記憶體洩漏 記...