Top/Prog/debug/memory

目次

バッファオーバーフロー

-D_FORTIFY_SOURCE で検出する

使い方

チェックされる関数の一覧

メモリリーク

valgrind

使い方

  1. -g 付きでビルド
  2. 下記コマンドで実行する
    # valgrind --tool=memcheck --leak-check=yes <program-file-name>

vgcore

特徴

mtrace

使い方

  1. ヘッダをインクルードする
    #include <mcheck.h>
  2. リークのテストを開始したい場所で mtrace() をコール
  3. 終了したい場所で muntrace() をコールする
  4. -g つきでコンパイル
  5. 環境変数 MALLOC_TRACE を export する
    # export MALLOC_TRACE=<log-file-name>
  6. プログラムを実行する
  1. 以下の環境変数を指定することでメモリ領域の破壊などについてはデバッグしやすくなるかもしれません。
    export MALLOC_CHECK_=”値”
    
    値は0〜3です。
    MALLOC_CHECK_ = 0 何もしない
    MALLOC_CHECK_ = 1 標準エラー出力に診断メッセージ表示
    MALLOC_CHECK_ = 2 abort
    MALLOC_CHECK_ = 3 1と2の両方 
    

特徴

参考リンク


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS