Next: Protocol, Previous: Bootstrapping, Up: Remote Serial [Contents][Index]
Í×Ì󤹤ë¤È¡¢ ¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤ò¥Ç¥Ð¥Ã¥°¤¹¤ë½àÈ÷¤¬À°¤Ã¤¿¸å¡¢ °Ê²¼¤Î¼ê½ç¤Ë½¾¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
getDebugChar
,putDebugChar
,flush_i_cache
,memset
,exceptionHandler
.
set_debug_traps(); breakpoint();
exceptionHook
¤È¤¤¤¦ÊÑ¿ô¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
Ä̾ï¤Ï¡¢
°Ê²¼¤Î¤è¤¦¤Ë»È¤¤¤Þ¤¹¡£
void (*exceptionHook)() = 0;
¤·¤«¤·¡¢
set_debug_traps
¤¬¸Æ¤Ó½Ð¤µ¤ì¤ëÁ°¤Ë¡¢
¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥àÆâ¤Î¤¢¤ë´Ø¿ô¤ò»Ø¤¹¤è¤¦¤³¤ÎÊÑ¿ô¤òÀßÄꤹ¤ë¤È¡¢
¥È¥é¥Ã¥×
¡ÊÎ㤨¤Ð¡¢
¥Ð¥¹¡¦¥¨¥é¡¼¡Ë
¤ÇÄä»ß¤·¤¿¸å¤ËGDB¤¬½èÍý¤ò·Ñ³¼Â¹Ô¤¹¤ë¤È¤¤Ë¡¢
¤½¤Î´Ø¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£
exceptionHook
¤Ë¤è¤Ã¤Æ»Ø¤µ¤ì¤ë´Ø¿ô¤Ï¡¢
1¤Ä¤Î°ú¿ôÉÕ¤¤Ç¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£
¤½¤ì¤Ï¡¢
int
·¿¤ÎÎã³°ÈÖ¹æ¤Ç¤¹¡£
¼¡¤Ëtarget remote
¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÄÌ¿®¤ò³ÎΩ¤·¤Þ¤¹¡£
°ú¿ô¤Ë¤Ï¡¢
¥·¥ê¥¢¥ë²óÀþ¤ËÀܳ¤µ¤ì¤¿ÁõÃÖ̾¤Þ¤¿¤Ï
¡ÊÄ̾ï¤Ï¥¿¡¼¥²¥Ã¥È¤ÈÀܳ¤µ¤ì¤¿¥·¥ê¥¢¥ë²óÀþ¤ò»ý¤ÄüËö¥µ¡¼¥Ð¤Î¡Ë
TCP¥Ý¡¼¥È¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢
¥¿¡¼¥²¥Ã¥È¡¦¥Þ¥·¥ó¤È¤ÎÄÌ¿®ÊýË¡¤ò»ØÄꤷ¤Þ¤¹¡£
Î㤨¤Ð¡¢
/dev/ttyb¤È¤¤¤¦Ì¾Á°¤ÎÁõÃÖ¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¥·¥ê¥¢¥ë²óÀþ¤ò»È¤¦¤Ë¤Ï¡¢
target remote /dev/ttyb
¤È¤·¤Þ¤¹¡£
TCPÀܳ¤ò»È¤¦¤Ë¤Ï¡¢
host:port
¤È¤¤¤¦·Á¼°¤Î°ú¿ô¤ò»ÈÍѤ·¤Þ¤¹¡£
Î㤨¤Ð¡¢
manyfarms
¤È¤¤¤¦Ì¾Á°¤ÎüËö¥µ¡¼¥Ð¤Î¥Ý¡¼¥È2828¤ËÀܳ¤¹¤ë¤Ë¤Ï¡¢
target remote manyfarms:2828
¤È¤·¤Þ¤¹¡£
¤³¤³¤Þ¤Ç¤¯¤ë¤È¡¢ ¥Ç¡¼¥¿¤ÎÃͤÎÄ´ºº¡¢ Êѹ¹¡¢ ¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à¤Î¥¹¥Æ¥Ã¥×¼Â¹Ô¡¢ ·Ñ³¼Â¹Ô¤ËÄ̾ï»ÈÍѤ¹¤ë¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤òºÆ³«¤·¡¢
¥Ç¥Ð¥Ã¥°¤¹¤ë¤Î¤ò¤ä¤á¤ë¤Ë¤Ï¡¢
detach
¥³¥Þ¥ó¥É¤ò»È¤¤¤Þ¤¹¡£
GDB¤¬¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à¤òÂԤäƤ¤¤ë¤È¤¤Ë¤Ï¤¤¤Ä¤Ç¤â¡¢ ³ä¤ê¹þ¤ßʸ»ú ¡Ê¿¤¯¤Î¾ì¹ç C-C¡Ë ¤òÆþÎϤ¹¤ë¤È¡¢ GDB¤Ï¤½¤Î¥×¥í¥°¥é¥à¤òÄä»ß¤·¤è¤¦¤È¤·¤Þ¤¹¡£ ¤³¤ì¤ÏÀ®¸ù¤¹¤ë¤³¤È¤â¼ºÇÔ¤¹¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¤¬¡¢ ¤½¤ÎÀ®Èݤϡ¢ ¥ê¥â¡¼¥È¡¦¥·¥¹¥Æ¥à¤Î¥Ï¡¼¥É¥¦¥§¥¢¤ä¥·¥ê¥¢¥ë¡¦¥É¥é¥¤¥Ð¤Ë¤â°Í¸¤·¤Þ¤¹¡£ ³ä¤ê¹þ¤ßʸ»ú¤òºÆÅÙÆþÎϤ¹¤ë¤È¡¢ GDB¤Ï°Ê²¼¤Î¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Þ¤¹¡£
Interrupted while waiting for the program. Give up (and stop debugging it)? (y or n)
¤³¤³¤Çy¤òÆþÎϤ¹¤ë¤È¡¢ GDB¤Ï¥ê¥â¡¼¥È¡¦¥Ç¥Ð¥Ã¥°¡¦¥»¥Ã¥·¥ç¥ó¤òÇË´þ¤·¤Þ¤¹ ¡Ê¸å¤Ë¤Ê¤Ã¤ÆºÆ¼Â¹Ô¤·¤¿¤¯¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ Àܳ¤¹¤ë¤¿¤á¤Ë‘target remote’¤òºÆÅÙ»ÈÍѤ·¤Þ¤¹¡Ë¡£ n¤òÆþÎϤ¹¤ë¤È¡¢ GDB¤ÏºÆ¤ÓÂÔ¤Á¾õÂ֤ˤʤê¤Þ¤¹¡£