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