トップページ >  GDB >  attach
初版2011/03/23: 最終更新日2011/03/23
  attach
目次
attach
detach
attachに失敗
attach
GDBでは既に常駐しているプロセスをattachしてデバッグすることができます。
プロセスをいきなりattachするので、どこでattachするかはタイミングになります。

まずgdbを起動し、

attach プロセスID

を実行します。「Attaching to program~」というようなメッセージが表示されたらattachできています。
attachは非常に便利で、プログラムが複数ファイルからなる複雑なプログラムの場合

where

と実行すると、どのファイルから起動され、その次にどの関数に行き、といったトレースを出力してくれます。
システム把握するのに非常に便利です。
detach
attachしたプロセスは、必ず

detach

を実行してプロセス開放します。「Detaching from program~」というようなメッセージが表示されたらdetachできています。
いきなりGDBをquitするとプロセスがkillされてしまいますので必ずdetachします。
実行すると以下のような表示があらわれます。

attachに失敗
attachに失敗すると「attach failed~」と表示されます。
これは他の開発者が既にattachしているためか、もしくは何らかの原因でgdbプロセスがattachしたままの状態で残っている時に発生します。
gdbをkillするしかありません。その時、そのgdbがattachしているプロセスもkillされますので注意してください。