Next: Server, Previous: Debug Session, Up: Remote Serial [Contents][Index]
GDB¤È¤È¤â¤ËÄ󶡤µ¤ì¤ë¥¹¥¿¥Ö¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢ ¥¿¡¼¥²¥Ã¥È¦¤ÎÄÌ¿®¥×¥í¥È¥³¥ë¤ò¼ÂÁõ¤·¤Þ¤¹¡£ ¤½¤·¤ÆGDB¦¤ÎÄÌ¿®¥×¥í¥È¥³¥ë¤Ï¡¢ GDB¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ëremote.c¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ Ä̾ï¤Ï¡¢ ¤³¤ì¤é¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤ËÄÌ¿®½èÍý¤òǤ¤»¤Æ¡¢ ¾ÜºÙ¤ò̵»ë¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹ ¡ÊÆÈ¼«¤Î¥¹¥¿¥Ö¡¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤È¤¤Ç¤â¡¢ ¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï̵»ë¤·¤Æ¡¢ ´û¸¤Î¥¹¥¿¥Ö¡¦¥Õ¥¡¥¤¥ë¤ò¤â¤È¤Ë¤·¤ÆºîÀ®¤ò»Ï¤á¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ sparc-stub.c¤¬ºÇ¤â¤è¤¯À°Íý¤µ¤ì¤Æ¤ª¤ê¡¢ ¤·¤¿¤¬¤Ã¤ÆºÇ¤âÆÉ¤ß¤ä¤¹¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡Ë¡£
¤·¤«¤·¡¢ ¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢ ¥×¥í¥È¥³¥ë¤Ë¤Ä¤¤¤Æ²¿¤«¤òÃΤëɬÍפ¬½Ð¤Æ¤¯¤ë¤³¤È¤â¤¢¤ë¤Ç¤·¤ç¤¦¡£ Î㤨¤Ð¡¢ ¥¿¡¼¥²¥Ã¥È¡¦¥Þ¥·¥ó¤Ë¥·¥ê¥¢¥ë¡¦¥Ý¡¼¥È¤¬1¤Ä¤·¤«¤Ê¤¯¡¢ GDB¤ËÂФ·¤ÆÁ÷¤é¤ì¤Æ¤¤¿¥Ñ¥±¥Ã¥È¤ò¸¡½Ð¤·¤¿¤È¤¤Ë¡¢ ¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤¬²¿¤«ÆÃÊ̤ʤ³¤È¤ò¤¹¤ë¤è¤¦¤Ë¤·¤¿¤¤¾ì¹ç¤Ç¤¹¡£
¡Êñ°ìʸ»ú¤Ë¤è¤ë³Îǧ¥á¥Ã¥»¡¼¥¸¤ò½ü¤¯¡Ë ¤¹¤Ù¤Æ¤ÎGDB¥³¥Þ¥ó¥É¤È¤½¤ì¤ËÂФ¹¤ë±þÅú¤Ï¡¢ ¥Á¥§¥Ã¥¯¥µ¥à¤ò´Þ¤à¥Ñ¥±¥Ã¥È¤È¤·¤ÆÁ÷¿®¤µ¤ì¤Þ¤¹¡£ ¥Ñ¥±¥Ã¥È¤Ï¡¢ ʸ»ú‘$’¤Ç»Ï¤Þ¤ê¡¢ ʸ»ú‘#’¤Ë2·å¤Î¥Á¥§¥Ã¥¯¥µ¥àÃͤ¬Â³¤¤¤Æ½ª¤ï¤ê¤Þ¤¹¡£
$packet info#checksum
¤³¤³¤Ç¡¢ checksum¤Ïpacket info¤Î¤¹¤Ù¤Æ¤Îʸ»ú¤ÎÃͤò¹ç·×¤·¤¿¤â¤Î¤ò256¤Ç³ä¤Ã¤¿Í¾¤ê¤È¤·¤Æ·×»»¤µ¤ì¤Þ¤¹¡£
¥Û¥¹¥È¡¦¥Þ¥·¥ó¤Þ¤¿¤Ï¥¿¡¼¥²¥Ã¥È¡¦¥Þ¥·¥ó¤¬¥Ñ¥±¥Ã¥È¤ò¼õ¿®¤·¤¿¤È¤¡¢ ºÇ½é¤Ë´üÂÔ¤µ¤ì¤ë±þÅú¤Ï³Îǧ¥á¥Ã¥»¡¼¥¸¤Ç¤¹¡£ ¤³¤ì¤Ïñ°ìʸ»ú¤Ç¡¢ ¡Ê¥Ñ¥Ã¥±¡¼¥¸¤¬Àµ¤·¤¯¼õ¿®¤µ¤ì¤¿¤³¤È¤ò¼¨¤¹¡Ë ‘+’¤Þ¤¿¤Ï ¡ÊºÆÁ÷Í×µá¤ò¼¨¤¹¡Ë ‘-’¤Ç¤¹¡£
¥Û¥¹¥È ¡ÊGDB¡Ë ¤¬¥³¥Þ¥ó¥É¤òÁ÷¿®¤·¡¢ ¥¿¡¼¥²¥Ã¥È ¡Ê¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤ËÁȤ߹þ¤Þ¤ì¤¿¥Ç¥Ð¥Ã¥°¡¦¥¹¥¿¥Ö¡Ë ¤¬±þÅú¤È¤·¤Æ¥Ç¡¼¥¿¤òÁ÷¿®¤·¤Þ¤¹¡£ ¥¿¡¼¥²¥Ã¥È¤Ï¡¢¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤¬Ää»ß¤·¤¿¤È¤¤Ë¤â¡¢ ¥Ç¡¼¥¿¤òÁ÷¿®¤·¤Þ¤¹¡£
¥³¥Þ¥ó¥É¡¦¥Ñ¥±¥Ã¥È¤ÏºÇ½é¤Îʸ»ú¤Ç¶èÊ̤µ¤ì¤Þ¤¹¡£ ºÇ½é¤Îʸ»ú¤¬¥³¥Þ¥ó¥É¤Î¼ïÎà¤òɽ¤ï¤·¤Þ¤¹¡£
°Ê²¼¤Ë¡¢ ¸½ºß¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¥³¥Þ¥ó¥É¤ò¤¤¤¯¤Ä¤«Îóµó¤·¤Þ¤¹ ¡Ê¥³¥Þ¥ó¥É¤Î´°Á´¤Ê¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ïgdb/remote.c¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡Ë¡£
g
CPU¥ì¥¸¥¹¥¿¤ÎÃͤòÍ׵ᤷ¤Þ¤¹¡£
G
CPU¥ì¥¸¥¹¥¿¤ÎÃͤòÀßÄꤷ¤Þ¤¹¡£
maddr,count
addr¤Ç¼¨¤µ¤ì¤ë°ÌÃÖ¤«¤écount¤Ç¼¨¤µ¤ì¤ë¥Ð¥¤¥È¿ô¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£
Maddr,count:…
addr¤Ç¼¨¤µ¤ì¤ë°ÌÃÖ¤«¤écount¤Ç¼¨¤µ¤ì¤ë¥Ð¥¤¥È¿ô¤ò½ñ¤¹þ¤ß¤Þ¤¹¡£
c
caddr
¥«¥ì¥ó¥È¤Ê¥¢¥É¥ì¥¹ ¡Êaddr¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢ ¤½¤ì¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤ë¥¢¥É¥ì¥¹¤«¤é¡Ë ¼Â¹Ô¤òºÆ³«¤·¤Þ¤¹¡£
s
saddr
¥×¥í¥°¥é¥à¡¦¥«¥¦¥ó¥¿¤Î»Ø¤¹¥«¥ì¥ó¥È¤Ê²Õ½ê¤«¤é ¡Êaddr¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢ ¤½¤ì¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤ë¥¢¥É¥ì¥¹¤«¤é¡Ë ¥¿¡¼¥²¥Ã¥È¡¦¥×¥í¥°¥é¥à¤ò1Ì¿Îá¤À¤±¥¹¥Æ¥Ã¥×¼Â¹Ô¤·¤Þ¤¹¡£
k
¥¿¡¼¥²¥Ã¥È¡¦¥×¥í¥°¥é¥à¤ò½ªÎ»¤µ¤»¤Þ¤¹¡£
?
ºÇ¸å¤Ë¼õ¿®¤·¤¿¥·¥°¥Ê¥ë¤òÊó¹ð¤·¤Þ¤¹¡£ GDB¤Î¥·¥°¥Ê¥ë½èÍý¥³¥Þ¥ó¥É¤òÍøÍѤǤ¤ë¤è¤¦¤Ë¡¢ ¥Ç¥Ð¥Ã¥°¡¦¥¹¥¿¥Ö¤ÎÃæ¤Î¤¢¤ë´Ø¿ô¤¬¡¢ CPU¥È¥é¥Ã¥×¤òÂбþ¤¹¤ëPOSIX¥·¥°¥Ê¥ëÃͤȤ·¤ÆÊó¹ð¤·¤Æ¤¤Þ¤¹¡£
T
¥ê¥â¡¼¥È¤Î¥¹¥¿¥Ö¤ËÂФ·¤Æ¡¢ GDB¤¬¥·¥ó¥°¥ë¡¦¥¹¥Æ¥Ã¥×½èÍý¤ä¾ò·ïÉÕ¤¥Ö¥ì¥¤¥¯¥Ý¥¤¥ó¥È¤Ë´Ø¤¹¤ë¿×®¤Ê·èÄê¤ò²¼¤¹¤Î¤ËɬÍ×¤È¤Ê¤ë ¥ì¥¸¥¹¥¿¤Î¾ðÊó¤À¤±¤òÁ÷¿®¤¹¤ë¤è¤¦¤Ë¤µ¤»¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤Ã¤Æ¡¢ ¥¹¥Æ¥Ã¥×¼Â¹ÔÃæ¤Î1Ì¿Îᤴ¤È¤Ë¤¹¤Ù¤Æ¤Î¥ì¥¸¥¹¥¿¤Î¾ðÊó¤òÆþ¼ê¤¹¤ëɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¸½ºß¤ÎGDB¤Ï¡¢ ¥ì¥¸¥¹¥¿¤Ø¤Î¥é¥¤¥È¡¦¥¹¥ë¡¼¡¦¥¥ã¥Ã¥·¥å¤ò¼ÂÁõ¤·¤Æ¤¤¤Æ¡¢ ¥¿¡¼¥²¥Ã¥È¤¬¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Î¤ß¡¢ ¥ì¥¸¥¹¥¿¤òºÆÅÙÆÉ¤ß¹þ¤ß¤Þ¤¹¡£
¥·¥ê¥¢¥ëÀܳ¤ËÌäÂ꤬¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢
set remotedebug
¥³¥Þ¥ó¥É¤ò»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤êGDB¤Ï¡¢
¥·¥ê¥¢¥ë²óÀþ·Ðͳ¤Ç¥ê¥â¡¼¥È¡¦¥Þ¥·¥ó¤È¤Î´Ö¤ÇÁ÷¼õ¿®¤·¤¿¤¹¤Ù¤Æ¤Î¥Ñ¥±¥Ã¥È¤òÊó¹ð¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¥Ñ¥±¥Ã¥È¡¦¥Ç¥Ð¥Ã¥°ÍѤξðÊó¤ÏGDB¤Îɸ½à½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
set remotedebug off
¤Ë¤è¤Ã¤Æ¤³¤ÎÀßÄ꤬²ò½ü¤µ¤ì¡¢
show remotedebug
¤Ë¤è¤Ã¤Æ¸½ºß¤ÎÀßÄ꤬ɽ¼¨¤µ¤ì¤Þ¤¹¡£