Top / APL / gdb
HTML convert time: 0.065 sec.

APL/gdb

Last-modified: 2014-01-06 (月) 21:37:42

子プロセスをデバッグするためのおまじない

set follow-fork-mode child

プロセスがアタッチできない

  • ubuntuはデフォルトだと動いているプロセスをアタッチできないので下記設定が必要
    $ sudo vi /etc/sysctl.d/10-ptrace.conf
    修正前: kernel.yama.ptrace_scope = 1
    修正後: kernel.yama.ptrace_scope = 0
  • 上記はシステムリブートが必要なのでワンショットで対応するならば下記を行なう
    $ sudo sh -c 'echo 0 > /proc/sys/kernel/yama/ptrace_scope'
    http://askubuntu.com/questions/41629/after-upgrade-gdb-wont-attach-to-process

gdbのフロントエンドのアプリケーション

コアダンプ

動作中プロセスのコアダンプを取得する

$ gdb
(gdb) attach PID
(gdb) gcore core
(gdb) detach

コアダンプを元にデバッグする

$ gdb 元のコマンド名 coreファイル名
(gdb) where  ※最後の実行した箇所のトレース表示

gdbserver

$ gdbserver HOST:PORT --attach PID