Next: , Previous: Value History, Up: Data   [Contents][Index]


8.9 ¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ÊÑ¿ô

GDB¤Î¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ÊÑ¿ô¤Ï¡¢ GDB¤ÎÃæ¤Ë¤¢¤ëÃͤòÊÝ»ý¤·¤Æ¤ª¤¤¤Æ¡¢ ¤½¤ì¤ò¸å¤Ë»²¾È¤¹¤ë¤È¤¤¤¦ÌÜŪ¤Ç»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤é¤ÎÊÑ¿ô¤Ï¡¢ GDBÆâÉô¤Ë¤ª¤¤¤Æ¤Î¤ß¸ºß¤¹¤ë¤â¤Î¤Ç¤¹¡£ ¤½¤ì¤é¤Ï¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤ÎÃæ¤Ë¸ºß¤¹¤ë¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢ ¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ÊÑ¿ô¤òÀßÄꤷ¤Æ¤â¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤Ë¤ÏľÀܱƶÁ¤òÍ¿¤¨¤Þ¤»¤ó¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢ ¥æ¡¼¥¶¤Ï¤³¤ì¤ò¼«Í³¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ÊÑ¿ô̾¤Ï¡¢ ÀèÆ¬¤¬‘$’¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£ ‘$’¤Ç»Ï¤Þ¤ë̾Á°¤Ï¡¢ ¤¢¤é¤«¤¸¤áÄêµÁ¤µ¤ì¤¿¥Þ¥·¥ó¸ÇÍ­¤Î¥ì¥¸¥¹¥¿Ì¾ ¡Êsee Registers¡Ë ¤È°ìÃפ·¤Ê¤¤¸Â¤ê¡¢ ¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ÊÑ¿ô¤Î̾Á°¤È¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹ ¡Ê¤³¤ì¤ËÂФ·¤Æ¡¢ ÃÍ¥Ò¥¹¥È¥ê¤Î»²¾È̾¤Ç¤Ï‘$’¤Ë³¤±¤ÆÈÖ¹æ¤òµ­½Ò¤·¤Þ¤¹¡£ See Value history¡Ë¡£

¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤ÎÃæ¤ÇÊÑ¿ô¤ËÃͤòÀßÄꤹ¤ë¤Î¤ÈƱ¤¸¤è¤¦¤Ë¡¢ ÂåÆþ¼°¤ò»ÈÍѤ·¤Æ¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ÊÑ¿ô¤ËÃͤòÊݸ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Î㤨¤Ð¡¢ object_ptr¤¬»Ø¤¹¥ª¥Ö¥¸¥§¥¯¥È¤¬ÊÝ»ý¤¹¤ëÃͤò$foo¤ËÊݸ¤¹¤ë¤Ë¤Ï¡¢ °Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£

set $foo = *object_ptr

¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ÊÑ¿ô¤Ï¡¢ ºÇ½é¤Ë»ÈÍѤµ¤ì¤¿¤È¤­¤ËÀ¸À®¤µ¤ì¤Þ¤¹¤¬¡¢ ¿·¤·¤¤Ãͤò³ä¤êÅö¤Æ¤ë¤Þ¤Ç¡¢ ¤½¤ÎÃͤ϶õ ¡Êvoid¡Ë ¤Ç¤¹¡£ Ãͤϡ¢ ¤¤¤Ä¤Ç¤âÂåÆþ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆÊѹ¹²Äǽ¤Ç¤¹¡£

¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ÊÑ¿ô¤Ë¤Ï·è¤Þ¤Ã¤¿·¿¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ÊÑ¿ô¤Ë¤Ï¡¢ ´û¤Ë°Û¤Ê¤ë·¿¤Î¥Ç¡¼¥¿¤¬³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢ ¹½Â¤ÂΤäÇÛÎó¤ò´Þ¤á¤¿Ç¤°Õ¤Î·¿¤Î¥Ç¡¼¥¿¤ò³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ÊÑ¿ô¤Ï¡¢ ¼°¤È¤·¤Æ»ÈÍѤµ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢ ¤½¤Î»þÅÀ¤Ë¤ª¤±¤ëÃͤη¿¤ò»ý¤Á¤Þ¤¹¡£

show convenience

¤½¤ì¤Þ¤Ç¤Ë»ÈÍѤµ¤ì¤¿¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ÊÑ¿ô¤È¤½¤ÎÃͤΰìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£ ¾Êά·Á¤Ï¡¢ show con¤Ç¤¹¡£

¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ÊÑ¿ô¤Î1¤Ä¤Î»È¤¤Êý¤Ë¡¢ ¥¤¥ó¥¯¥ê¥á¥ó¥È¤µ¤ì¤ë¥«¥¦¥ó¥¿¤äÀè¤Ø¿Ê¤ó¤Ç¤¤¤¯¥Ý¥¤¥ó¥¿¤È¤·¤Æ¤Î»È¤¤Êý¤¬¤¢¤ê¤Þ¤¹¡£ Î㤨¤Ð¡¢ ¹½Â¤ÂÎÇÛÎó¤ÎÃæ¤ÎϢ³¤¹¤ëÍ×ÁǤΤ¢¤ë¥Õ¥£¡¼¥ë¥É¤ÎÃͤòɽ¼¨¤·¤¿¤¤¾ì¹ç¡¢ °Ê²¼¤Î¥³¥Þ¥ó¥É¤òRET¥­¡¼¤Ç·«¤êÊÖ¤·¼Â¹Ô¤·¤Þ¤¹¡£

set $i = 0
print bar[$i++]->contents

GDB¤Ë¤è¤Ã¤Æ¡¢ ¤¤¤¯¤Ä¤«¤Î¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ÊÑ¿ô¤¬¼«Æ°Åª¤ËºîÀ®¤µ¤ì¡¢ Ìò¤ËΩ¤Á¤½¤¦¤ÊÃͤ¬ÀßÄꤵ¤ì¤Þ¤¹¡£

$_

$_ÊÑ¿ô¤Ë¤Ï¡¢ x¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆºÇ¸å¤ËÄ´¤Ù¤é¤ì¤¿¥¢¥É¥ì¥¹¤¬¼«Æ°Åª¤ËÀßÄꤵ¤ì¤Þ¤¹ ¡Êsee Examining memory¡Ë¡£ x¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÄ´¤Ù¤é¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥¢¥É¥ì¥¹¤òÄ󶡤¹¤ë¾¤Î¥³¥Þ¥ó¥É¤â¡¢ $_¤Ë¤½¤Î¥¢¥É¥ì¥¹¤òÀßÄꤷ¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ë¤Ï¡¢ info line¤äinfo breakpoint¤¬¤¢¤ê¤Þ¤¹¡£ $_¤Î·¿¤Ï¡¢ x¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤¿¾ì¹ç¤Ï$__¤Î·¿¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ê¡¢ ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ïvoid *¤Ç¤¹¡£

$__

$__ÊÑ¿ô¤Ë¤Ï¡¢ x¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆºÇ¸å¤ËÄ´¤Ù¤é¤ì¤¿¥¢¥É¥ì¥¹°ÌÃ֤ˤ¢¤ëÃͤ¬¼«Æ°Åª¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ ·¿¤Ï¡¢ ¥Ç¡¼¥¿¤¬É½¼¨¤µ¤ì¤¿¥Õ¥©¡¼¥Þ¥Ã¥È¤ËŬ¹ç¤¹¤ë¤è¤¦¤ËÁªÂò¤µ¤ì¤Þ¤¹¡£

$_exitcode

$_exitcodeÊÑ¿ô¤Ë¤Ï¡¢ ¥Ç¥Ð¥Ã¥°¤µ¤ì¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤¬½ªÎ»¤·¤¿ºÝ¤Î½ªÎ»¥³¡¼¥É¤¬¼«Æ°Åª¤ËÀßÄꤵ¤ì¤Þ¤¹¡£