GDBを利用して動的にcoreを出力する

実行中プログラムのメモリイメージを取得する方法を探していて、こんな記事を見つけました。

特選フリーソフト 「GDB」― プロセス動作中にcoreファイルを出力 ―:ミラクル・リナックス

実行するコマンドをまとめるとこんな感じ。

# gdb `which foo` `pgrep -n ^foo`
(gdb) generate-core-file
(gdb) detach
(gdb) quit

いつでもcoreを取れるのは便利だけど、コンパイル時にデバッグオプションを付けてないと
あまり役に立たない気もしますね。