EN JA
gdbserver(1)
gdbserver(1) GNU Development Tools gdbserver(1)

名称

gdbserver - GNU デバッガのためのリモートサーバ

書式

gdbserver
tty prog [ args...]

gdbserver tty --attach PID

解説

gdbserver は、デバッグされるプログラムを実行しているマシンでなく、異なったマシンで、GDB を実行することができるプログラムです。
 
使用法 (サーバ (ターゲット) サイド):
 
最初に、利用者は、ターゲットシステムに置かれたデバッグしたいプログラムのコピーを持つ必要があります。 gdbserver がシンボルに無関心であるので、必要に応じて、記憶域を節約するためにプログラムをストリップ (strip) することができます。すべてのシンボル操作は、ホストシステムで実行する GDB によって管理されます。訳注: strip(1) コマンド参照。
 
サーバを使用するために、使用者は、ターゲットシステムにログオンして、 'gdbserver' プログラムを実行します。利用者は、(a) GDB と通信する方法、 (b) 利用者のプログラムの名前と (c) その引数を伝えなければなりません。一般的な構文は、次の通りです:
 
target> gdbserver COMM PROGRAM [ARGS ...]
 
例えば、シリアルポートを使用して、次のように記述するかもしれません:
 
target> gdbserver /dev/com1 emacs foo.txt
 
これは、foo.txt を引数として emacs をデバッグすることを gdbserver に伝え、 /dev/com1 を通して GDB と通信します。 gdbserver は、今、それと通信するために、ホスト GDB を根気良く待ちます。
 
TCP 接続を使用するために、次のように記述します:
 
target> gdbserver host:2345 emacs foo.txt
 
これは、我々が TCP を通してホスト GDB と通信しようとしていることを除いて、最後の例とほとんど同じことを記述しています。 `host:2345' 引数は、我々が `host' からローカル TCP ポート 2345 への TCP 接続を調べることになることを予想していることを意味します。 (現在、`host' 部分は、無視されます。) 利用者は、ターゲットシステムに存在している TCP ポートと衝突しない限り、ポート番号のために希望の任意の数を選択することができます。この同じポート番号は、まもなく説明される、ホストの GDB の `target remote' コマンドで使用されなければなりません。利用者が別のサービスと衝突するポート番号を選択したなら、gdbserver は、エラーメッセージを印刷 (表示) して、終了することに注意してください。
 
また、いくつかのターゲットでは、gdbserver は、プログラムを実行するためにアタッチすることができます。これは、--attach 引数によって達成されます。構文は、次の通りです:
 
target> gdbserver COMM --attach PID
 
PID は、現在実行しているプロセスのプロセス ID です。実行プロセスのためにバイナリで gdbserver を指す必要ではありません。
 
使用法 (ホストサイド):
 
GDB は、シンボルテーブルなどを調べる必要があるので、利用者のホストシステムでターゲットプログラムのストリップされていないコピーを必要とします。最初の引数としてのターゲットプログラムを指定して、 GDB を普通に起動します。 (シリアルラインが、9600 ボー以外で実行されているなら、利用者は、--baud オプションを使用する必要があります。)
 
すなわち: `gdb TARGET-PROG' または `gdb --baud BAUD TARGET-PROG' です。その後、利用者が知る必要がある唯一の新しいコマンドは、`target remote' です。その引数は、デバイス名 (通常 '/dev/ttyb' のようなシリアルデバイス) または HOST:PORT 記述子のいずれかです。例えば:
 
(gdb) target remote /dev/ttyb
 
は、シリアルライン /dev/ttyb を通してサーバと通信し、そして:
 
(gdb) target remote the-target:2345
 
は、利用者が、以前に同じポート番号で gdbserver を開始した、ホスト `the-target' でポート 2345 への TCP 接続を通して通信します。 TCP 接続について、利用者は、`target remote' コマンドを使用する前に、 gdbserver を開始しなければなりません、そうでなければ、`Connection refused' のようなエラーとなることに注意してください。

オプション

利用者は、通信するためにデバッグするプログラムと tty の名前を提供しなければなりません。リモート GDB は、その他の何もかも行います。残りの引数は、プログラムにそのまま渡されます。

関連項目

info の ` gdb' エントリ。 Using GDB: A Guide to the GNU Source-Level Debugger, Richard M. Stallman and Roland H. Pesch, July 1991.

COPYING

Copyright (c) 1993 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English.

2 November 1993 Cygnus Support