cwnicol programming

プログラミング関連の投稿をすこしだけ

GDB アタッチ

参考URL:http://www.fireproject.jp/feature/gdb/advanced/attach.html

(1)fileでシンボルファイルすなわちこれからattachするプロセスの
 シンボル情報を持っているファイルを指定する.
(2)directoryコマンドで読み込んだファイルのソースを検索できるように,
 ソースパスにソースのあるディレクトリを指定する.
(3)attachしたいプロセスのpidを知る.
(4)pidを指定してattachする.


・attachした時点で実行している部分でブレークがかかる?ので、
 ここで自分がブレークしたい箇所にブレークポイントを設定し、
 cで動作を再開させる。
ブレークポイントでブレークしたら、pなりx/sなりで
 値を確認するもよし。確認が終わったら、cで処理再開。


(5)detach


$gdb
$file [-gをつけてコンパイルした実行ファイル]
$directory [ソースファイルのあるディレクトリ]
$shell ps -AefH|grep [アタッチしたいプロセス名]
$attach [アタッチしたいプロセスのPID]


$detach