Next: , Previous: Stack, Up: Stack   [Contents][Index]


6.1 ¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à

¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯¤Ï¡¢ ¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¡¢ ¤Þ¤¿¤Ïû½Ì¤·¤Æ¥Õ¥ì¡¼¥à¤È¸Æ¤Ð¤ì¤ë¡¢ Ϣ³¤·¤¿¾®Éôʬ¤Ëʬ³ä¤µ¤ì¤Þ¤¹¡£ ¸Ä¡¹¤Î¥Õ¥ì¡¼¥à¤Ï¡¢ ¤¢¤ë´Ø¿ô¤ËÂФ¹¤ë1²ó¤Î¸Æ¤Ó½Ð¤·¤Ë´ØÏ¢¤¹¤ë¥Ç¡¼¥¿¤Ç¤¹¡£ ¥Õ¥ì¡¼¥à¤Ë¤Ï¡¢ ´Ø¿ô¤Ø¤Î°ú¿ô¡¢ ´Ø¿ô¤Î¥í¡¼¥«¥ëÊÑ¿ô¡¢ ´Ø¿ô¤Î¼Â¹Ô¥¢¥É¥ì¥¹¤Ê¤É¤Î¾ðÊ󤬴ޤޤì¤Þ¤¹¡£

¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤¬µ¯Æ°¤µ¤ì¤¿¤È¤­¡¢ ¥¹¥¿¥Ã¥¯¤Ë¤Ïmain´Ø¿ô¤Î¥Õ¥ì¡¼¥à¤¬1¤Ä¸ºß¤¹¤ë¤À¤±¤Ç¤¹¡£ ¤³¤ì¤Ï¡¢ ½é´ü¥Õ¥ì¡¼¥à¤Þ¤¿¤Ï¡ÖºÇ¾å°Ì¤Î¥Õ¥ì¡¼¥à¡×¤È¸Æ¤Ð¤ì¤Þ¤¹¡£ ´Ø¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤¿¤Ó¤Ë¡¢ ¿·¤¿¤Ë¥Õ¥ì¡¼¥à¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ ´Ø¿ô¤¬Éüµ¢¤¹¤ë¤È¡¢ ¤½¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤¿¤È¤­¤ËÀ¸À®¤µ¤ì¤¿¥Õ¥ì¡¼¥à¤¬¼è¤ê½ü¤«¤ì¤Þ¤¹¡£ ´Ø¿ô¤¬ºÆµ¢Åª¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¾ì¹ç¡¢ 1¤Ä¤Î´Ø¿ô¤ËÂФ·¤ÆÂ¿¤¯¤Î¥Õ¥ì¡¼¥à¤¬À¸À®¤µ¤ì¤ë¤È¤¤¤¦¤³¤È¤â¤¢¤ê¤¨¤Þ¤¹¡£ ¼ÂºÝ¤Ë¼Â¹ÔÃæ¤Î´Ø¿ô¤ËÂбþ¤¹¤ë¥Õ¥ì¡¼¥à¤Ï¡¢ ¡ÖºÇ²¼°Ì¤Î¥Õ¥ì¡¼¥à¡×¤È¸Æ¤Ð¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢ ¸ºß¤¹¤ë¤¹¤Ù¤Æ¤Î¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤ÎÃæ¤Ç¡¢ ºÇ¤â¿·¤·¤¯ºîÀ®¤µ¤ì¤¿¤â¤Î¤Ç¤¹¡£

¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤ÎÆâÉô¤Ë¤ª¤¤¤Æ¤Ï¡¢ ¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤Ï¥¢¥É¥ì¥¹¤Ë¤è¤Ã¤Æ¼±Ê̤µ¤ì¤Þ¤¹¡£ ¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤Ï¿¤¯¤Î¥Ð¥¤¥È¤«¤é¹½À®¤µ¤ì¡¢ ¤½¤ì¤¾¤ì¤¬¤½¤ì¼«¿È¤Î¥¢¥É¥ì¥¹¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ ¤½¤Î¥¢¥É¥ì¥¹¤¬¥Õ¥ì¡¼¥à¤Î¥¢¥É¥ì¥¹¤È¤Ê¤ë¤è¤¦¤Ê1¥Ð¥¤¥È¤òÁªÂò¤¹¤ë´·½¬Åª¤ÊÊýË¡¤ò¡¢ ¤¹¤Ù¤Æ¤Î¼ïÎà¤Î¥³¥ó¥Ô¥å¡¼¥¿¤¬Ä󶡤·¤Æ¤¤¤Þ¤¹¡£ Ä̾ ¤¢¤ë¥Õ¥ì¡¼¥àÆâÉô¤Ç¼Â¹ÔÃæ¤Ï¡¢ ¤½¤Î¥Õ¥ì¡¼¥à¤Î¥¢¥É¥ì¥¹¤¬¥Õ¥ì¡¼¥à¡¦¥Ý¥¤¥ó¥¿¡¦¥ì¥¸¥¹¥¿¤È¸Æ¤Ð¤ì¤ë¥ì¥¸¥¹¥¿¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

GDB¤Ï¡¢ ´û¸¤Î¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤Î¤¹¤Ù¤Æ¤ËÈÖ¹æ¤ò³ä¤êÅö¤Æ¤Þ¤¹¡£ ºÇ²¼°Ì¤Î¥Õ¥ì¡¼¥à¤Ï0¤Ç¡¢ ¤½¤ì¤ò¸Æ¤Ó½Ð¤·¤¿¥Õ¥ì¡¼¥à¤Ï1¤È¤Ê¤ê¤Þ¤¹¡£ °Ê²¼¡¢ ºÇ²¼°Ì¤Î¥Õ¥ì¡¼¥à¤òµ¯ÅÀ¤È¤·¤Æ¡¢ ½çÈÖ¤ËÃͤò³ä¤êÅö¤Æ¤Æ¤¤¤­¤Þ¤¹¡£ ¤³¤ì¤é¤ÎÈÖ¹æ¤Ï¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥àÆâÉô¤Ë¤Ï¼ÂºÝ¤Ë¤Ï¸ºß¤·¤Þ¤»¤ó¡£ ¤³¤ì¤é¤ÎÈÖ¹æ¤Ï¡¢ GDB¥³¥Þ¥ó¥É¤Ç¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¡¢ GDB¤Ë¤è¤Ã¤Æ³ä¤êÅö¤Æ¤é¤ì¤¿¤â¤Î¤Ç¤¹¡£

¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¤Ï¡¢ ¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤ò»ÈÍѤ·¤Ê¤¯¤Æ¤â¼Â¹Ô²Äǽ¤Ê¤è¤¦¤Ë´Ø¿ô¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëÊýË¡¤òÄ󶡤·¤Æ¤¤¤ë¤â¤Î¤â¤¢¤ê¤Þ¤¹ ¡ÊÎ㤨¤Ð¡¢ gcc¤Î¥ª¥×¥·¥ç¥ó‘-fomit-frame-pointer’¤ò»ØÄꤹ¤ë¤È¡¢ ¥Õ¥ì¡¼¥à¤ò»ý¤¿¤Ê¤¤´Ø¿ô¤¬À¸À®¤µ¤ì¤Þ¤¹¡Ë¡£ ¤³¤ì¤Ï¡¢ ¥Õ¥ì¡¼¥à¤ò¥»¥Ã¥È¥¢¥Ã¥×¤¹¤ë»þ´Ö¤òÀáÌ󤹤뤿¤á¤Ë¡¢ ÉÑÈˤËÍøÍѤµ¤ì¤ë¥é¥¤¥Ö¥é¥ê´Ø¿ô¤ËÂФ·¤Æ¤·¤Ð¤·¤ÐŬÍѤµ¤ì¤Þ¤¹¡£ ¤³¤ì¤é¤Î´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤ò½èÍý¤¹¤ë¤¿¤á¤ËGDB¤¬Ä󶡤¹¤ëµ¡Ç½¤Ï¸Â¤é¤ì¤Æ¤¤¤Þ¤¹¡£ ºÇ²¼°Ì¤Î¥Õ¥ì¡¼¥à¤Î´Ø¿ô¸Æ¤Ó½Ð¤·¤¬¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤ò»ý¤¿¤Ê¤¤¾ì¹ç¡¢ GDB¤Ï¡¢ ¤¢¤¿¤«¤â¤½¤ì¤¬Ä̾ï¤É¤ª¤ê¤ËÈÖ¹æ0¤Î¥Õ¥ì¡¼¥à¤ò»ý¤Ä¤â¤Î¤È¤ß¤Ê¤·¤Æ¡¢ ´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎÏ¢º¿¤òÀפŤ±¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢ ºÇ²¼°Ì°Ê³°¤Î¥¹¥¿¥Ã¥¯°ÌÃ֤˸ºß¤¹¤ë¡¢ ¥Õ¥ì¡¼¥à¤ò»ý¤¿¤Ê¤¤´Ø¿ô¤ËÂФ·¤Æ¤Ï¡¢ GDB¤ÏÆÃÊ̤ʽèÃÖ¤ò¼è¤ê¤Þ¤»¤ó¡£

frame args

frame¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢ ¤¢¤ë¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤«¤éÊ̤Υ¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤Ë°Üư¤·¡¢ ÁªÂò¤·¤¿¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤òɽ¼¨¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ args¤Ï¡¢ ¥Õ¥ì¡¼¥à¤Î¥¢¥É¥ì¥¹¤Þ¤¿¤Ï¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥àÈÖ¹æ¤Ç¤¹¡£ °ú¿ô¤Ê¤·¤Ç¼Â¹Ô¤¹¤ë¤È¡¢ frame¥³¥Þ¥ó¥É¤Ï¥«¥ì¥ó¥È¤Ê¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤òɽ¼¨¤·¤Þ¤¹¡£

select-frame

select-frame¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢ ¥Õ¥ì¡¼¥à¤òɽ¼¨¤¹¤ë¤³¤È¤Ê¤¯¡¢ ¤¢¤ë¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤«¤éÊ̤Υ¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤Ë°Üư¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢ frame¥³¥Þ¥ó¥É¤«¤é¡¢ ɽ¼¨½èÍý¤ò¼è¤ê½ü¤¤¤¿¤â¤Î¤Ç¤¹¡£