Valgrind
メモリリーク等のバグを検出するツール
公式ページ: Valgrind Home
valgrind(ヴァルグリンド)の使い方 - Qiita
Valgrind による動的解析 - Qiita
chatgpt.icon
以下のことができる:
メモリリークの検出
malloc/new で確保したメモリの未解放を検出
--leak-check=full で詳細な情報取得
未初期化メモリの使用検出
未初期化の変数やバッファ使用を警告
不正なメモリアクセスの検出
解放済みメモリへのアクセス、バッファオーバーランなどを報告
関連: ダングリングポインタ
二重解放の検出(use-after-freeバグ)
free/delete の2回実行を報告
スタックやヒープの不整合検出
メモリ破壊の兆候を検出
スレッドの競合検出(Helgrind)
データ競合の発見に使用
valgrind --tool=helgrind ./a.out
キャッシュ・分岐予測の統計(Cachegrind)
CPUキャッシュや分岐予測ミスを統計として取得
メモリ使用量プロファイリング(Massif)
ヒープメモリの使用推移を可視化
valgrind --tool=massif ./a.out + ms_print
#動的解析ツール #テスト