実行中のプログラムに接続すると、そのプログラムは即時に中断されます。
ほとんどの場合、プログラムはオペレーティング・システム・コードで中断されるか、
または、コンパイル型言語ランタイムで中断され、逆アセンブリー・コードが
表示されます。従って、1 つ以上のブレークポイントを追加し、
プログラムを再開して、プログラム内で既に把握しているポイントまで進む必要
があることになります。
デバッガーをプロセスまたは既に実行中のプログラムに接続する主な理由には、次の 2 つ
があります。
- プログラム内の特定のポイントで問題を予期していて、
プログラムをステップスルーすることも、ブレークポイントを設定することも望まない。このような状況の場合、
プログラムを実行し、予期される問題の少し前の時点でプログラムが停止している間 (例えば、
プログラムがキーボードからの入力を待っている間) に、デバッガーを
接続します。そこで入力を行い、そのポイントからデバッグを行います。
- 偶発的にハングするプログラムを開発または保守していて、
ハングする理由を明らかにしたい。このような状況の場合、
デバッガーを接続して、プログラムがハングする原因になっている無限ループまたは他の問題を
追求できます。
重要: - 必要なアクセス権を持っているプロセスにのみ接続できます。
アクセス権がない場合、デバッガーは、プロセスが存在しないかのように動作します。
- root としてログオンしている場合、システム・プロセスを含め、
どのプロセスにでも接続できます。これを行うと、予期しない結果になることがあります。