Next: NetWare, Previous: Protocol, Up: Remote Serial [Contents][Index]
gdbserver
¥×¥í¥°¥é¥à¤Î»ÈÍÑgdbserver
¤Ï¡¢
UNIX·Ï¥·¥¹¥Æ¥àÍѤÎÀ©¸æ¥×¥í¥°¥é¥à¤Ç¡¢
¤³¤ì¤Ë¤è¤ê¡¢
Ä̾ï¤Î¥Ç¥Ð¥Ã¥°ÍÑ¥¹¥¿¥Ö¤ò¥ê¥ó¥¯¤¹¤ë¤³¤È¤Ê¤¯¡¢
target remote
¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢
¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤ò¥ê¥â¡¼¥È¤ÎGDB¤ËÀܳ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
gdbserver
¤Ï¡¢
¥Ç¥Ð¥Ã¥°ÍÑ¥¹¥¿¥Ö¤Ë´°Á´¤Ë¼è¤Ã¤ÆÂå¤ï¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
gdbserver
¤Ï¡¢
GDB¤¬É¬ÍפȤ¹¤ë¤Î¤ÈƱÍͤΥª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Îµ¡Ç½¤ò´ðËÜŪ¤Ë¤ÏɬÍפȤ¹¤ë¤«¤é¤Ç¤¹¡£
¼ÂºÝ¡¢
¥ê¥â¡¼¥È¤ÎGDB¤ÈÀܳ¤¹¤ë¤¿¤á¤Ëgdbserver
¤ò¼Â¹Ô¤Ç¤¤ë¥·¥¹¥Æ¥à¤Ç¤¢¤ì¤Ð¡¢
GDB¤ò¥í¡¼¥«¥ë¤Ë¼Â¹Ô¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£
¤½¤ì¤Ç¤â¡¢
gdbserver
¤ÏGDB¤ÈÈæ³Ó¤¹¤ë¤È¤«¤Ê¤ê¥µ¥¤¥º¤¬¾®¤µ¤¤¤Î¤Ç¡¢
ÊØÍø¤Ê¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
¤Þ¤¿¡¢
gdbserver
¤Î°Ü¿¢¤ÏGDBÁ´ÂΤΰܿ¢¤è¤ê¤â´Êñ¤Ê¤Î¤Ç¡¢
gdbserver
¤ò»È¤¦¤³¤È¤Ç¡¢
¿·¤·¤¤¥·¥¹¥Æ¥à¤Ç¤Îºî¶È¤ò¤è¤êÁ᤯³«»Ï¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡¢
ºÇ¸å¤Ë¡¢
¥ê¥¢¥ë¡¦¥¿¥¤¥à¡¦¥·¥¹¥Æ¥à¤Î³«È¯¤ò¤·¤Æ¤¤¤ë¾ì¹ç¡¢
¥ê¥¢¥ë¡¦¥¿¥¤¥à¤ÊÁàºî¤Ë´Ø¤ï¤ë¥È¥ì¡¼¥É¥ª¥Õ¤Î¤¿¤á¤Ë¡¢
Î㤨¤Ð¥¯¥í¥¹¡¦¥³¥ó¥Ñ¥¤¥ë¤Ê¤É¤Ë¤è¤Ã¤Æ¡¢
¾¤Î¥·¥¹¥Æ¥à¾å¤Ç²Äǽ¤Ê¸Â¤ê¿¤¯¤Î³«È¯ºî¶È¤ò¹Ô¤Ã¤¿¤Û¤¦¤¬ÊØÍø¤Ç¤¢¤ë¤È¤¤¤¦¤³¤È¤¬¤¢¤ë¤Ç¤·¤ç¤¦¡£
¥Ç¥Ð¥Ã¥°ºî¶È¤Ë´Ø¤·¤Æ¤â¡¢
gdbserver
¤ò»È¤¦¤³¤È¤Ç¤³¤ì¤ÈƱ¤¸¤è¤¦¤ÊÁªÂò¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
GDB¤Ègdbserver
¤Ï¡¢
¥·¥ê¥¢¥ë²óÀþ¤Þ¤¿¤ÏTCPÀܳ¤ò·Ðͳ¤·¤Æ¡¢
ɸ½àŪ¤ÊGDB¥ê¥â¡¼¥È¡¦¥·¥ê¥¢¥ë¡¦¥×¥í¥È¥³¥ë¤Ë¤è¤Ã¤ÆÄÌ¿®¤·¤Þ¤¹¡£
¥Ç¥Ð¥Ã¥°¤·¤¿¤¤¥×¥í¥°¥é¥à¤Î¥³¥Ô¡¼¤¬1¤ÄɬÍפǤ¹¡£
gdbserver
¤Ï¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤Î¥·¥ó¥Ü¥ë¡¦¥Æ¡¼¥Ö¥ë¤òɬÍפȤϤ·¤Þ¤»¤ó¤Î¤Ç¡¢
¥¹¥Ú¡¼¥¹¤ÎÀáÌó¤¬É¬ÍפǤ¢¤ì¤Ð¡¢
¥×¥í¥°¥é¥à¤ò¥¹¥È¥ê¥Ã¥×¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¥Û¥¹¥È¡¦¥·¥¹¥Æ¥à¾å¤ÎGDB¤¬¡¢
¥·¥ó¥Ü¥ë¤Ë´Ø¤¹¤ë¤¹¤Ù¤Æ¤Î½èÍý¤ò¼Â¹Ô¤·¤Þ¤¹¡£
gdbserver
¤ò»È¤¦¤Ë¤Ï¡¢
GDB¤È¤ÎÄÌ¿®ÊýË¡¡¢
¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤Î̾Á°¡¢
¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤Ø¤Î°ú¿ô¤ò¶µ¤¨¤Æ¤ä¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¹½Ê¸¤Ï¡¢
°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£
target> gdbserver comm program [ args … ]
comm¤Ï ¡Ê¥·¥ê¥¢¥ë²óÀþ¤ò»È¤¦¤¿¤á¤Î¡Ë ÁõÃÖ̾¡¢ ¤¢¤ë¤¤¤Ï¡¢ TCP¤Î¥Û¥¹¥È̾¤È¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¹¡£ Î㤨¤Ð¡¢ ‘foo.txt’¤È¤¤¤¦°ú¿ô¤ò»ØÄꤷ¤ÆEmacs¤ò¥Ç¥Ð¥Ã¥°¤·¡¢ ¥·¥ê¥¢¥ë¡¦¥Ý¡¼¥È/dev/com1·Ðͳ¤ÇGDB¤ÈÄÌ¿®¤¹¤ë¤Ë¤Ï¡¢ °Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡£
target> gdbserver /dev/com1 emacs foo.txt
gdbserver
¤Ï¡¢
¥Û¥¹¥È¦¤ÎGDB¤¬ÄÌ¿®¤·¤Æ¤¯¤ë¤Î¤ò¼õưŪ¤ËÂÔ¤Á¤Þ¤¹¡£
¥·¥ê¥¢¥ë²óÀþ¤ÎÂå¤ï¤ê¤ËTCPÀܳ¤ò»È¤¦¤Ë¤Ï¡¢ °Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
target> gdbserver host:2345 emacs foo.txt
Á°¤ÎÎã¤È¤ÎÍ£°ì¤Î°ã¤¤¤ÏÂè1°ú¿ô¤Ç¤¹¡£
¤³¤ì¤Ï¡¢
¥Û¥¹¥È¤ÎGDB¤ÈTCP¤Ë¤è¤Ã¤ÆÀܳ¤¹¤ë¤³¤È¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹¡£
‘host:2345’¤Ï¡¢
¥Þ¥·¥ó‘host’¤«¤é¥í¡¼¥«¥ë¤ÎTCP¥Ý¡¼¥È2345¤Ø¤ÎTCPÀܳ¤ògdbserver
¤¬´üÂÔ¤·¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹
¡Ê¸½ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢
‘host’¤ÎÉôʬ¤Ï̵»ë¤µ¤ì¤Þ¤¹¡Ë¡£
¥¿¡¼¥²¥Ã¥È¡¦¥·¥¹¥Æ¥à¾å¤Ç´û¤Ë»È¤ï¤ì¤Æ¤¤¤ëTCP¥Ý¡¼¥È¤Ç¤Ê¤±¤ì¤Ð¡¢
Ǥ°Õ¤ÎÈÖ¹æ¤ò¥Ý¡¼¥ÈÈÖ¹æ¤È¤·¤ÆÁªÂò¤Ç¤¤Þ¤¹
¡ÊÎ㤨¤Ð¡¢
23
¤Ïtelnet
¤ËͽÌó¤µ¤ì¤Æ¤¤¤Þ¤¹¡Ë
3¡£
¤³¤³¤Ç»ØÄꤷ¤¿¤Î¤ÈƱ¤¸¥Ý¡¼¥ÈÈÖ¹æ¤ò¡¢
¥Û¥¹¥È¾å¤ÎGDB¤Îtarget remote
¥³¥Þ¥ó¥É¤Ç»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
GDB¤Ï¥·¥ó¥Ü¥ë¾ðÊó¡¢
¥Ç¥Ð¥Ã¥°¾ðÊó¤òɬÍפȤ¹¤ë¤Î¤Ç¡¢
¥¹¥È¥ê¥Ã¥×¤µ¤ì¤Æ¤¤¤Ê¤¤¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤Î¥³¥Ô¡¼¤¬É¬ÍפǤ¹¡£
Ä̾ï¤É¤ª¤ê¡¢
Âè1°ú¿ô¤Ë¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤Î¥í¡¼¥«¥ë¡¦¥³¥Ô¡¼¤Î̾Á°¤ò»ØÄꤷ¤ÆGDB¤òµ¯Æ°¤·¤Þ¤¹
¡Ê¥·¥ê¥¢¥ë²óÀþ¤Î®ÅÙ¤¬9600 bps°Ê³°¤Ç¤¢¤ì¤Ð¡¢
‘--baud’¥ª¥×¥·¥ç¥ó¤âɬÍפˤʤê¤Þ¤¹¡Ë¡£
¤½¤Î¸å¡¢
target remote
¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Ægdbserver
¤È¤ÎÄÌ¿®¤ò³ÎΩ¤·¤Þ¤¹¡£
°ú¿ô¤Ë¤Ï¡¢
ÁõÃÖ̾
¡ÊÄ̾ï¤Ï/dev/ttyb¤Î¤è¤¦¤Ê¥·¥ê¥¢¥ëÁõÃÖ¡Ë¡¢
¤Þ¤¿¤Ï¡¢
host:PORT
¤È¤¤¤¦·Á¼°¤Ç¤ÎTCP¥Ý¡¼¥Èµ½Ò»Ò¤ò»ØÄꤷ¤Þ¤¹¡£
Î㤨¤Ð¡¢
(gdb) target remote /dev/ttyb
¤Ç¤Ï¡¢
¥·¥ê¥¢¥ë²óÀþ/dev/ttyb¤ò²ð¤·¤Ægdbserver
¤ÈÄÌ¿®¤·¤Þ¤¹¡£
¤Þ¤¿¡¢
(gdb) target remote the-target:2345
¤Ç¤Ï¡¢
¥Û¥¹¥Èthe-target¾å¤Î¥Ý¡¼¥È2345¤ËÂФ¹¤ëTCPÀܳ¤Ë¤è¤Ã¤ÆÄÌ¿®¤·¤Þ¤¹¡£
TCPÀܳ¤ò»È¤¦¾ì¹ç¤Ë¤Ï¡¢
target remote
¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢
gdbserver
¤òµ¯Æ°¤·¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
¤½¤¦¤·¤Ê¤¤¤È¡¢¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
¥¨¥é¡¼¡¦¥Æ¥¥¹¥È¤ÎÆâÍÆ¤Ï¥Û¥¹¥È¡¦¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¤¬¡¢
Ä̾ï¤Ï‘Connection refused’¤Î¤è¤¦¤ÊÆâÍÆ¤Ç¤¹¡£
¸¶Ãí¡§Â¾¤Î¥µ¡¼¥Ó¥¹¤Ë¤è¤Ã¤Æ»ÈÍѤµ¤ì¤Æ¤¤¤ë¥Ý¡¼¥ÈÈÖ¹æ¤òÁªÂò¤¹¤ë¤È¡¢
gdbserver
¤Ï¥¨¥é¡¼¡¦¥á¥Ã¥»¡¼¥¸¤ò½ÐÎϤ·¤Æ½ªÎ»¤·¤Þ¤¹¡£