タグ

valgrindに関するkamipoのブックマーク (7)

  • C(++)言語: valgrindの使い方

    ubuntu% uname -a Linux ubuntu 2.6.12-10-386 #1 Sat Mar 11 16:13:17 UTC 2006 i686 GNU/Linux ubuntu% valgrind --version valgrind-3.0.1 (0) 目次 Valgrindに含まれるツール Memcheck: メモリエラーを検出する(default) Cachegrind: キャッシュミスを検出する Massif: ヒーププロファイラを使う まとめ valgrindの使い方とエラーメッセージを整理してみた。「valgrind --leak-check=full command」というコマンドラインをよく用いる。これによりメモリ周りのバグを検出出来る。 --tool=cachegrindではプログラム実行時のキャッシュミス率を測定する事が出来る。cg_annotateを

  • ValgrindでApacheモジュールのメモリバグを見つけよう - ひげぽん OSとか作っちゃうかMona-

    mod_uploaderの作者さんがまとめている開発Tips(http://acapulco.dyndns.org/mod_uploader/module_dev.htm)にあったデバッグ方法を試してみました。 Valgrind http://valgrind.org/ Valgrindはメモリ周りのバグや、スレッド系のバグを自動的に検出してくれるツールです。 インストールは ./configure make make install で完了です。 a.out(-gオプションでコンパイルしてください)のメモリ周りのチェックを行う場合は valgrind --leak-check=yes a.out とやると、こんな結果が出力されてメモリリークしている場所がずばり表示されます。 ==19182== 40 bytes in 1 blocks are definitely lost in los

    ValgrindでApacheモジュールのメモリバグを見つけよう - ひげぽん OSとか作っちゃうかMona-
  • メモリーリークの検出:mtrace , valgrind:プログラマー社長のブログ:オルタナティブ・ブログ

    以前の記事にもLinuxでのメモリーリークの検出に関する事を書いたのですが、もう少し一般的なやり方を紹介しましょう(というより、自分で毎回忘れるので備忘録として・・・)。 【mtraceを使う方法】 まず、mtraceを使う方法です。リークのテストを開始したい場所でmtrace()をコールし、終了したい場所でmuntrace()をコールするようにします。 #include        <stdio.h> #include        <stdlib.h> char *test() { char    *test=malloc(10); return(test); } int main() { char    *ptr; mtrace(); ptr=test(); //*(ptr+10)='\0'; //free(ptr); muntrace(); return(0); } -gつきでコ

    メモリーリークの検出:mtrace , valgrind:プログラマー社長のブログ:オルタナティブ・ブログ
  • 仙石浩明の日記: x86_64 Linux でメモリ・デバッグ・ツール Valgrind を使う場合の注意点

    次のようなプログラム test.c について考える: #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <string.h> struct test { int32_t len; int8_t buf[16]; }; int main(int argc, char *argv[]) { struct test *p = malloc(sizeof(struct test)); int8_t buf[16]; p->len = sizeof(p->buf); bzero(p->buf, p->len); printf("0x%lX-0x%lX => 0x%lX\n", (long)p->buf, (long)p->buf+p->len-1, (long)buf); bcopy(p->buf, buf,

  • 常駐型サーバープログラムのデバッグ手法

    BOOK: WEB+DB Press TITLE: 常駐型サーバーのデバッグ手法(ドラフト版) AUTHOR: (株)プリファードインフラストラクチャー 太田一樹 *注: この文章はWEB+DB PRESS Vol.48に掲載された記事のドラフト版です はじめに 今回はデバッグ関連特集ということで、常駐型サーバープログラムを作成する際のハマりどころやそれに対する解析方法・解析ツール・対策を、実際の経験を交えながら紹介したいと思います。 筆者は(株)プリファードインフラストラクチャーでインメモリ分散検索エンジン「Sedue (セデュー)」を開発しています。モバイル向け検索エンジン「エフルート」や、2008/11/6にリニューアルされました「はてなブックマーク2」などの検索バックエンドとして使われております。 この検索エンジンはいくつかの常駐型サーバープログラムから構成されており

  • Test-Valgrind-1.19

    Fix : valgrind 3.1x will no longer be treated as valgrind 3.1.0, causing the wrong command line arguments to be used. Thanks Lucas Nussbaum and Gregor Herrmann from Debian for reporting and providing feedback (Debian bug 832833). Fix : The number of callers is now capped at 24, as this is the maximum number supported by valgrind. An higher number of frames could lead to the generation of unusable

    Test-Valgrind-1.19
  • Valgrind を使って iPhone アプリのメモリデバッグをする - むらかみの雑記帳

    Linux 上で開発をしている人なら知らない人はない(たぶん)と思われるメモリデバッグツールの Valgrind。これを使えば、メモリリークや解放済みメモリアクセスなど、メモリに関するバグつぶしの効率は飛躍的に改善します。 これがありゃー、Purify いらねーじゃん、って感じ。私は普段 Linux で開発しているので、使いまくりです。 さて、この Valgrind を iPhone の開発に使えないかと探していたら、すでにやってる人がいました。 iPhone: Testing your Application with Valgrind 残念ながら、実機ではデバッグできません。Valgrind は Intel CPU にばりばり依存しているので、ARM は無理なんです。だけど、iPhone Simulator なら動くという話。 手順をまとめておきます。 こちらから、Mac OS X 版

    Valgrind を使って iPhone アプリのメモリデバッグをする - むらかみの雑記帳
  • 1