プロセスをフォークして実行可能ファイルを実行する単純なCプログラムがあります。
子プロセスをgdbにアタッチしたいと思います。
コンソールでメインプログラムを実行し、別のコンソールを開いて子プロセスのpidを見つけたら、次のコマンドでgdbを起動します。
gdb attach 12271
子プロセスIDはどこに12271
ありますが、アタッチは次のように失敗します。
No such file or directory.
なぜですか?
次のいずれかを試してください。
gdb -p 12271
gdb /path/to/exe 12271
gdb /path/to/exe
(gdb) attach 12271
最初の引数は、実行可能プログラムへのパスである必要があります。それで
gdb progname 12271
myExecutableName
PIDを持つ実行中のインスタンスで15073
:
コマンドラインでTabキーを2回$ gdb myExecu
押すと、自動的に次のようにオートコンプリートされます。
$ gdb myExecutableName 15073
このプロセスにgdbをアタッチします。それはすばらしい!