タグ

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

  • 関連タグはありません

タグの絞り込みを解除

gdbに関するhaneimoのブックマーク (2)

  • gdb の使い方・デバッグ方法まとめ

    たとえば、変数 var の値を2進数で表示したい場合は、次のように指定します。 (gdb) p/t var 一覧表示 whatis 変数の型を調べる。 info b 今設定しているブレークポイントの一覧を表示 セグメントフォルトをした後に利用すれば、どの関数で発生したか確認できます。 info stack 関数の呼び出しスタックの一覧を表示 info Thread 存在しているスレッドの一覧を表示 異なるアドレスにおける処理継続 以下のコマンドを使用することで、ユーザが選択したアドレスにおいて実行を継続させることができます jump linespec linespecで指定される行において、実行を再開 jump *address addressで指定されるアドレスにある命令から、実行を再開 アドレスが分かっている場合のメモリリーク出力 xはhexの意味です。 (gdb) p (char*)

    gdb の使い方・デバッグ方法まとめ
    haneimo
    haneimo 2011/12/10
  • gdbでメモリダンプして構造体を発見するTips - I am Cruby!

    gdb知りたい構造体が見たくても見れない場合に便利。例えば、デバッグシンボルがないバイナリ内でSEGVしている場合など。*1 こんなコードを用意してみた。特徴コンパイルは-gなしhg->comment = "Hellow!" だとSEGVが発生  #include #include struct hoge { int id; char *comment; }; void throw_segv(char *comment) { int test[1000]; if(!strcmp(comment, "Hellow!")) test[-100000] = 9; } int main(void) { struct hoge *hg; hg = malloc(sizeof(struct hoge)); hg->id = 2565; hg->comment = "Hellow!"; throw_

    haneimo
    haneimo 2011/12/10
  • 1