segv対策
gdb
コンパイル時にデバッグ情報を付与
$ gcc -g ***.c
or Makefileに
CFLAGS += -g
とかしておく
ちなみになんだけど -g3 にした方がマクロ見れたりあと多分他にもいいことありそうなのでそっちの方が良さげ. https://kohchi.hatenablog.com/entry/20141124/1416790642
コアダンプ機能を有効化
ulimit -c unlimited
デバッグファイル
問題のプログラムを実行すると
$ ls
...
core
coreとかいうでっかいファイルができる
コマンド
バックトレース
(gdb) bt
関数選択
frame 1
ポインタ検索
p (ポインタ)
自分がコンパイルしていないライブラリに潜りたい
普通はライブラリ関数的なのはnextで潜らずに飛ばしてっちゃうんだけど, stepしてその中も見たいよみたいな場合.
あとで自分で書き直す. 参考 https://stackoverflow.com/questions/48278881/gdb-complaining-about-missing-raise-c https://doss.eidos.ic.i.u-tokyo.ac.jp/html/gdb_step_into_libraries.html
memo
fedoraでcore吐かせようとしたら,デフォルトの出力がよくわからんかったのでいじったときの参照URL https://qiita.com/suzutsuki0220/items/aa84d7e2e8f37e867f3d