タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

デバッグとgdbに関するsatojkovicのブックマーク (2)

  • LL脳な人でもこれぐらいは覚えておくとうれしいgdbのつかいかた。または猫でもわかるgdb講座 - tokuhirom's blog

    LLつかってても「ばすえらーになるー」っていう状況ってたまにあるわけですが、LL しか普段つかわないゆとりは、ここでお手あげになってしまったりすることがままあります。 で、「ばすえらーになるんですが」ってときの最低限これだけはやってみたらどうか、という話。「えー、わたし gdb とかわかんないしー」とかいってる人でもこれぐらいならできるんじゃないかなーっと。 perl t/00_load.tというコマンドで segv するという場合、gdb をつかって % gdb --args perl t/00_load.tとうつ。 すると、以下のようにプロンプトがでるので、"run" とうつ。これでスクリプトがはしりはじめる。 % gdb --args perl t/00_load.t GNU gdb (GDB) 7.0-ubuntu Copyright (C) 2009 Free Software

  • Segmentation Fault の調べ方

    プログラムを書いていると,Segmentation fault や Bus error に なってしまうことがよくあります.このようなエラーの原因はどのようにして 探ればよいのでしょうか? 例えば,このようなプログラムがあります. #include <stdio.h> #define MAX 10 int main(){ int *p; int buf[MAX]; int i; p=buf; for(i=0; i<=MAX/2; i++){ buf[i*2+1]=0; } printf("%d\n", *p); return 0; } これは配列 buf の添字が奇数であるものに 0 を代入します。 また、ポインタ変数 p は配列 buf の先頭要素 を指し、プログラムの最後に先頭要素を表示させています。 ところが,これを実行すると Segmentation fault になります。 $

  • 1