gdbserver(1)

명칭
gdbserver - GNU 디버거용 리모트 서버

서식

gdbserver
    tty prog [args...]

해설
GDBSERVER 는, 디버그 대상의 프로그램을 실행하고 있는 머신과는 다르다 머신상에서 GDB 를 실행하는 것을 가능하게 하는 프로그램입니다. 사용 방법 (서버(타겟) 측): 우선, 디버그 대상의 프로그램의 카피를 타겟 시스템에 준비합니다. GDBserver 는, 심볼을 칸치 하지 않기 때문에, 사용 스페이스를 절약하기 위해서 프로그램을 스트립 해도 상관하지 않습니다. 모든 심볼은, 호스트 시스템으로 실행되는 GDB 에 의해 고려됩니다. 서버를 사용하기 위해서는, 타겟 시스템에 로그인해, `gdbserver' 프로그램을 실행합니다. (a) GDB 와의 통신 방법, (b) 프로그램명, (c) 프로그램에의 인수를 지정할 필요가 있습니다. 일반적인 서식은 이하와 같이 됩니다:
    target> gdbserver COMM PROGRAM [ARGS ...] 예를 들면, 시리얼 포트를 사용하는 경우는, 이하와 같이 됩니다.
    target> gdbserver /dev/com1 emacs foo.txt 이 예에서는, emacs 를 인수 foo.txt 를 이용해 디버그 하는 것을 지정해, GDB 와의 통신에 /dev/com1 를 사용합니다. gdbserver 는, 호스트의 GDB 가 통신해 오는 것을 참을성이 많게 기다립니다. TCP 접속을 사용하는 경우는, 이하와 같이 됩니다.
    target> gdbserver host:2345 emacs foo.txt 이 예에서는, 호스트의 GDB 와의 통신에 TCP 를 이용하는 이외는, 전의 예와 같습니다. 인수 `host:2345'는, `host'로부터의 TCP 접속이 로컬의 TCP 포트 2345 에 접속되는 것을 기다린다, 라고 하는 의미입니다. (현재 상태로서는 `host'부는 무시됩니다. ) 타겟 시스템으로 존재하는 TCP 포트와의 충돌이 없으면, 포토 번호는 자유롭게 선택할 수가 있습니다. 호스트의 GDB 의 `target remote'명령로, 같은 포트 번호를 지정할 필요가 있습니다. 다른 서비스와 충돌하는 포토 번호를 선택했을 경우, gdbserver 는 에러 메세지를 출력해 종료합니다. 사용 방법 (호스트측): GDB 가 심볼 테이블을 검사하거나 하기 위한(해), 호스트 시스템에는, 타겟 프로그램의 스트립되어 있지 않은 카피가 필요합니다. 통상의 경우 같이, 최초의 인수에 타겟 프로그램을 지정해 GDB 를 기동합니다. (시리얼 라인이 9600 baud 이외로 동작하고 있는 경우는, --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 (은)는, TCP 접속으로, 호스트 `the-target'의 gdbserver 를 기동했을 때로 지정했다 포트와 같은 포토 2345 를 사용해 서버와 통신합니다. TCP 접속의 경우, `target remote'명령을 실행하기 전에 gdbserver 를 실행해 둘 필요가 있습니다. 그렇게 하지 않으면 `Connection refused'라고 하는 것 같은 에러가 되겠지요.

옵션
디버그의 대상이 되는 프로그램의 이름과 통신에 사용하는 tty 를 지정한다 필요가 있습니다. 다른 모든 일은 리모트의 GDB 가 실시합니다. 그 외의 인수는, 그대로 프로그램에게 건네집니다.

관련 항목
`gdb' entry in info ; 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.