Next: Floating Point Hardware, Previous: Convenience Vars, Up: Data [Contents][Index]
¥Þ¥·¥ó¡¦¥ì¥¸¥¹¥¿¤ÎÆâÍÆ¤Ï¡¢
ÀèÆ¬¤¬‘$’¤Ç»Ï¤Þ¤ë̾Á°¤ò»ý¤ÄÊÑ¿ô¤È¤·¤Æ¡¢
¼°¤ÎÃæ¤Ç»²¾È¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¥ì¥¸¥¹¥¿¤Î̾Á°¤Ï¡¢
¥Þ¥·¥ó¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¤Þ¤¹¡£
info registers
¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢
¤½¤Î¥Þ¥·¥ó¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë¥ì¥¸¥¹¥¿¤Î̾Á°¤òÃΤ뤳¤È¤¬¤Ç¤¤Þ¤¹¡£
info registers
¡ÊÁªÂò¤µ¤ì¤¿¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤Ë¤ª¤±¤ë¡Ë ÉâÆ°¾®¿ôÅÀ¥ì¥¸¥¹¥¿¤ò½ü¤¯¤¹¤Ù¤Æ¤Î¥ì¥¸¥¹¥¿¤Î̾Á°¤ÈÃͤòɽ¼¨¤·¤Þ¤¹¡£
info all-registers
ÉâÆ°¾®¿ôÅÀ¥ì¥¸¥¹¥¿¤â´Þ¤á¤Æ¤¹¤Ù¤Æ¤Î¥ì¥¸¥¹¥¿¤Î̾Á°¤ÈÃͤòɽ¼¨¤·¤Þ¤¹¡£
info registers regname …
»ØÄꤵ¤ì¤¿¥ì¥¸¥¹¥¿regname¤Î ÁêÂв½¤µ¤ì¤¿ÃÍ¡Êrelativized value¡Ë¤òɽ¼¨¤·¤Þ¤¹¡£ °Ê²¼¤Ë¾Ü¤·¤¯½Ò¤Ù¤ë¤è¤¦¤Ë¡¢ ¥ì¥¸¥¹¥¿¤ÎÃͤϡ¢ Ä̾ï¤Ï¡¢ ÁªÂò¤µ¤ì¤¿¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤È´Ø·¸¤ò»ý¤ÄÁêÂÐŪ¤ÊÃͤǤ¹¡£ regname¤Ë¤Ï¡¢ ¥æ¡¼¥¶¤Î»ÈÍѤ·¤Æ¤¤¤ë¥Þ¥·¥ó¾å¤Ë¤ª¤¤¤ÆÍ¸ú¤ÊǤ°Õ¤Î¥ì¥¸¥¹¥¿¤ÎÃͤ¬ÀßÄê²Äǽ¤Ç¤¹¡£ ÀèÆ¬¤Î‘$’¤Ï¡¢ ¤¢¤Ã¤Æ¤â¤Ê¤¯¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡£
GDB¤Ï¡¢
¤½¤Î¥Þ¥·¥ó¡¦¥¢¡¼¥¥Æ¥¯¥Á¥ã¤¬»ý¤Ä¥ì¥¸¥¹¥¿¤ÎÀµµ¬¤Î¥Ë¡¼¥â¥Ë¥Ã¥¯¤È¾×ÆÍ¤·¤Ê¤¤¸Â¤ê¡¢
¤Û¤È¤ó¤É¤Î¥Þ¥·¥ó¾å
¡Ê¤Î¼°¤ÎÃæ¡Ë
¤Ë¤ª¤¤¤ÆÍøÍѲÄǽ¤Ê¡¢
4¤Ä¤Î¡Öɸ½àŪ¡×¤Ê¥ì¥¸¥¹¥¿Ì¾¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
¥ì¥¸¥¹¥¿Ì¾$pc
¤È$sp
¤Ï¡¢
¥×¥í¥°¥é¥à¡¦¥«¥¦¥ó¥¿¡¦¥ì¥¸¥¹¥¿¤È¥¹¥¿¥Ã¥¯¡¦¥Ý¥¤¥ó¥¿¤ò»Ø¤¹¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£
$fp
¤Ï¡¢
¥«¥ì¥ó¥È¤Ê¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÝ»ý¤¹¤ë¥ì¥¸¥¹¥¿¤ò»Ø¤¹¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£
$ps
¤Ï¡¢
¥×¥í¥»¥Ã¥µ¤Î¾õÂÖ¤òÊÝ»ý¤¹¤ë¥ì¥¸¥¹¥¿¤ò»Ø¤¹¤¿¤á¤Ë»È¤ï¤ì¤Þ¤¹¡£
Î㤨¤Ð¡¢
¥×¥í¥°¥é¥à¡¦¥«¥¦¥ó¥¿¤ÎÃͤò16¿Ê¿ô¤Çɽ¼¨¤¹¤ë¤Ë¤Ï¡¢
°Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡£
p/x $pc
¤Þ¤¿¡¢ ¼¡¤Ë¼Â¹Ô¤µ¤ì¤ëÌ¿Îá¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢ °Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡£
x/i $pc
¤µ¤é¤Ë¡¢ ¥¹¥¿¥Ã¥¯¡¦¥Ý¥¤¥ó¥¿ 2 ¤Ë4¤ò²Ã¤¨¤ë¤Ë¤Ï¡¢ °Ê²¼¤Î¤è¤¦¤Ë¼Â¹Ô¤·¤Þ¤¹¡£
set $sp += 4
²Äǽ¤Ê¾ì¹ç¤Ë¤Ï¤¤¤Ä¤Ç¤â¡¢
¤³¤ì¤é4¤Ä¤Îɸ½àŪ¤Ê¥ì¥¸¥¹¥¿Ì¾¤¬»ÈÍѲÄǽ¤Ç¤¹¡£
¥æ¡¼¥¶¤Î¥Þ¥·¥ó¤¬°Û¤Ê¤ëÀµµ¬¤Î¥Ë¡¼¥â¥Ë¥Ã¥¯¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢
̾Á°¤Î¾×ÆÍ¤µ¤¨µ¯¤³¤é¤Ê¤±¤ì¤Ð¡¢
»ÈÍѲÄǽ¤Ç¤¹¡£
info registers
¥³¥Þ¥ó¥É¤Ë¤è¤ê¡¢
Àµµ¬Ì¾¤ò¸«¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
Î㤨¤Ð¡¢
SPARC¾å¤Ç
info registers
¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢
¥×¥í¥»¥Ã¥µ¡¦¥¹¥Æ¡¼¥¿¥¹¡¦¥ì¥¸¥¹¥¿¤Ï$psr
¤Èɽ¼¨¤µ¤ì¤Þ¤¹¤¬¡¢
¤³¤Î¥ì¥¸¥¹¥¿¤ò$ps
¤È¤·¤Æ»²¾È¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
¥ì¥¸¥¹¥¿¤¬¤³¤ÎÊýË¡¤ÇÄ´¤Ù¤é¤ì¤ë¤È¤¡¢ GDB¤ÏÉáÄ̤Υ쥸¥¹¥¿¤ÎÆâÍÆ¤ò¾ï¤ËÀ°¿ôÃͤȤߤʤ·¤Þ¤¹¡£ ¥Þ¥·¥ó¤Ë¤è¤Ã¤Æ¤Ï¡¢ ÉâÆ°¾®¿ôÅÀÃͰʳ°¤òÊÝ»ý¤Ç¤¤Ê¤¤¥ì¥¸¥¹¥¿¤ò»ý¤Ä¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ê¥ì¥¸¥¹¥¿¤Ï¡¢ ÉâÆ°¾®¿ôÅÀÃͤò»ý¤Ä¤â¤Î¤È¤ß¤Ê¤µ¤ì¤Þ¤¹¡£ ÉáÄ̤Υ쥸¥¹¥¿¤ÎÆâÍÆ¤òÉâÆ°¾®¿ôÅÀÃͤȤ·¤Æ»²¾È¤¹¤ëÊýË¡¤Ï¤¢¤ê¤Þ¤»¤ó ¡Ê‘print/f $regname’¤Ë¤è¤ê¡¢ ÉâÆ°¾®¿ôÅÀÃͤȤ·¤ÆÃͤòɽ¼¨¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤¹¡Ë¡£
¥ì¥¸¥¹¥¿¤Ë¤Ï¡¢
raw¤Èvirtual¤Î2¤Ä¤Î°Û¤Ê¤ë¥Ç¡¼¥¿·Á¼°¤ò¼è¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤Ï¡¢
¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¡¦¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¥ì¥¸¥¹¥¿¤ÎÆâÍÆ¤¬Êݸ¤µ¤ì¤ë¤È¤¤Î¥Ç¡¼¥¿·Á¼°¤¬¡¢
¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤¬Ä̾ïǧ¼±¤·¤Æ¤¤¤ë¤â¤Î¤ÈƱ¤¸¤Ç¤Ï¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£
Î㤨¤Ð¡¢
68881ÉâÆ°¾®¿ôÅÀ¥³¥×¥í¥»¥Ã¥µ¤Î¥ì¥¸¥¹¥¿¤ÎÃͤϾï¤Ëextended
¡Êraw¡Ë·Á¼°¤ÇÊݸ¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢
C¸À¸ì¤Ë¤è¤ë¥×¥í¥°¥é¥à¤ÏÄ̾ïdouble
¡Êvirtual¡Ë·Á¼°¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ê¾ì¹ç¡¢
GDB¤ÏÄ̾ï
¡Ê¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤Ë¤È¤Ã¤Æ°ÕÌ£¤Î¤¢¤ë·Á¼°¤Ç¤¢¤ë¡Ë
virtual·Á¼°¤À¤±¤ò°·¤¤¤Þ¤¹¤¬¡¢
info registers
¥³¥Þ¥ó¥É¤Ï¥Ç¡¼¥¿¤òξÊý¤Î·Á¼°¤Çɽ¼¨¤·¤Æ¤¯¤ì¤Þ¤¹¡£
Ä̾ ¥ì¥¸¥¹¥¿¤ÎÃͤϡ¢ ÁªÂò¤µ¤ì¤¿¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à ¡Êsee Selecting a frame¡Ë ¤È´Ø·¸¤ò»ý¤ÄÁêÂÐŪ¤ÊÃͤǤ¹¡£ ¤³¤ì¤Ï¡¢ ¥æ¡¼¥¶¤Ë¥ì¥¸¥¹¥¿¤ÎÃͤȤ·¤Æ¸«¤¨¤ë¤â¤Î¤Ï¡¢ ÁªÂò¤µ¤ì¤¿¥Õ¥ì¡¼¥à¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤¬½ªÎ»¤·¡¢ ÂàÈò¤µ¤ì¤¿¥ì¥¸¥¹¥¿¤ÎÃͤ¬Éü¸µ¤µ¤ì¤¿¤È¤¤Ë¡¢ ¤½¤Î¥ì¥¸¥¹¥¿¤¬»ý¤Ä¤Ç¤¢¤í¤¦ÃͤǤ¹¡£ ¥Ï¡¼¥É¥¦¥§¥¢¡¦¥ì¥¸¥¹¥¿¤ÎËÜÅö¤ÎÃͤòÃΤꤿ¤±¤ì¤Ð¡¢ ºÇ²¼°Ì¤Î¥Õ¥ì¡¼¥à¤ò ¡Ê‘frame 0’¤Ç¡Ë ÁªÂò¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
¤·¤«¤·¡¢ GDB¤Ï¡¢ ¥³¥ó¥Ñ¥¤¥é¤¬À¸À®¤·¤¿¥³¡¼¥É¤«¤é¡¢ ¤É¤³¤Ë¥ì¥¸¥¹¥¿¤¬Êݸ¤µ¤ì¤Æ¤¤¤ë¤«¤ò¿äÏÀ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ÂàÈò¤µ¤ì¤Æ¤¤¤Ê¤¤¥ì¥¸¥¹¥¿¤¬¤¢¤ë¾ì¹ç¤ä¡¢ GDB¤¬ÂàÈò¤µ¤ì¤¿¥ì¥¸¥¹¥¿¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¾ì¹ç¤Ï¡¢ ¤É¤Î¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤òÁªÂò¤·¤Æ¤¤¤Æ¤â·ë²Ì¤ÏƱ¤¸¤Ç¤¹¡£
set rstack_high_address address
AMD 29000¥Õ¥¡¥ß¥ê¡¦¥×¥í¥»¥Ã¥µ¤Ç¤Ï¡¢
¥ì¥¸¥¹¥¿¤Ï¡Ö¥ì¥¸¥¹¥¿¡¦¥¹¥¿¥Ã¥¯¡×¤È¸Æ¤Ð¤ì¤ë¤È¤³¤í¤ËÂàÈò¤µ¤ì¤Þ¤¹¡£
GDB¤Ë¤Ï¡¢
¤³¤Î¥¹¥¿¥Ã¥¯¤ÎÂ礤µ¤òÃΤ뤳¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
Ä̾ï
GDB¤Ï¡¢
¥¹¥¿¥Ã¥¯¤Ï½½Ê¬¤ËÂ礤¤¤ÈÁÛÄꤷ¤Þ¤¹¡£
¤³¤Î¤¿¤á¤Ë¡¢
¼ÂºÝ¤Ë¤Ï¸ºß¤·¤Ê¤¤¥á¥â¥ê°ÌÃÖ¤ò¡¢
GDB¤¬»²¾È¤·¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ê¤¨¤Þ¤¹¡£
ɬÍפǤ¢¤ì¤Ð¡¢
set rstack_high_address
¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¥ì¥¸¥¹¥¿¡¦¥¹¥¿¥Ã¥¯¤ÎºÇ½ª¥¢¥É¥ì¥¹¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
¤³¤ÎÌäÂê¤ò²óÈò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
°ú¿ô¤Ï¥¢¥É¥ì¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
‘0x’¤òÀèÆ¬¤Ëµ½Ò¤¹¤ë¤³¤È¤Ç¡¢
¥¢¥É¥ì¥¹¤ò16¿Ê¿ô¤Ç»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
show rstack_high_address
AMD 29000¥Õ¥¡¥ß¥ê¡¦¥×¥í¥»¥Ã¥µ¤Ë¤ª¤±¤ë¥ì¥¸¥¹¥¿¡¦¥¹¥¿¥Ã¥¯¤Î¥«¥ì¥ó¥È¤Ê¾å¸Â¤òɽ¼¨¤·¤Þ¤¹¡£
¸¶Ãí¡§¤³¤ì¤Ï¡¢
¥¹¥¿¥Ã¥¯¤¬¥á¥â¥ê¤Î²¼°ÌÊý¸þ¤Ë¿Ä¹¤¹¤ë¥Þ¥·¥ó
¡ÊºÇ¶á¤Î¤Û¤È¤ó¤É¤Î¥Þ¥·¥ó¤¬¤½¤¦¤Ç¤¹¡Ë
¾å¤Ë¤ª¤¤¤Æ¡¢
¥¹¥¿¥Ã¥¯¤«¤é1¥ï¡¼¥É¤ò¼è¤ê½ü¤¯ÊýË¡¤Ç¤¹¡£
¤³¤ì¤Ï¡¢
ºÇ²¼°Ì¤Î¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤Þ¤¹¡£
¤³¤ì°Ê³°¤Î¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤ë¤È¤¤Ë¤Ï¡¢
$sp
¤ËÃͤòÀßÄꤹ¤ë¤³¤È¤Ïµö¤µ¤ì¤Þ¤»¤ó¡£
¥Þ¥·¥ó¡¦¥¢¡¼¥¥Æ¥¯¥Á¥ã¤Ë°Í¸¤¹¤ë¤³¤È¤Ê¤¯¥¹¥¿¥Ã¥¯¤«¤é¥Õ¥ì¡¼¥àÁ´ÂΤò¼è¤ê½ü¤¯¤Ë¤Ï¡¢
return
¤ò»ÈÍѤ·¤Þ¤¹¡£
See Returning from a function¡£