¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯¤Ï¡¢ ¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¡¢ ¤Þ¤¿¤Ïû½Ì¤·¤Æ¥Õ¥ì¡¼¥à¤È¸Æ¤Ð¤ì¤ë¡¢ Ϣ³¤·¤¿¾®Éôʬ¤Ëʬ³ä¤µ¤ì¤Þ¤¹¡£ ¸Ä¡¹¤Î¥Õ¥ì¡¼¥à¤Ï¡¢ ¤¢¤ë´Ø¿ô¤ËÂФ¹¤ë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
¥³¥Þ¥ó¥É¤«¤é¡¢
ɽ¼¨½èÍý¤ò¼è¤ê½ü¤¤¤¿¤â¤Î¤Ç¤¹¡£