Previous: Source Path, Up: Source   [Contents][Index]


7.4 ¥½¡¼¥¹¤È¥Þ¥·¥ó¡¦¥³¡¼¥É

info line¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¥½¡¼¥¹¹Ô¤ò¥×¥í¥°¥é¥à¡¦¥¢¥É¥ì¥¹¤Ë ¡Ê¤¢¤ë¤¤¤Ï¡¢ ¥×¥í¥°¥é¥à¡¦¥¢¥É¥ì¥¹¤ò¥½¡¼¥¹¹Ô¤Ë¡Ë ÂбþÉÕ¤±¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢ disassemble¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Æ¡¢ ¤¢¤ë¥¢¥É¥ì¥¹ÈϰϤò¥Þ¥·¥óÌ¿Îá¤È¤·¤ÆÉ½¼¨¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ GNU Emacs¥â¡¼¥É¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ ¸½ºß¤Îinfo line¥³¥Þ¥ó¥É¤Ï¡¢ »ØÄꤵ¤ì¤¿¹Ô¤ò¼¨¤¹Ìð°õ¤òɽ¼¨¤·¤Þ¤¹¡£ ¤Þ¤¿¡¢ info line¥³¥Þ¥ó¥É¤Ï¡¢ ¥¢¥É¥ì¥¹¤ò16¿Ê·Á¼°¤À¤±¤Ç¤Ï¤Ê¤¯¥·¥ó¥Ü¥ê¥Ã¥¯·Á¼°¤Ç¤âɽ¼¨¤·¤Þ¤¹¡£

info line linespec

¥½¡¼¥¹¹Ôlinespec¤ËÂбþ¤¹¤ë¥³¥ó¥Ñ¥¤¥ëºÑ¤ß¥³¡¼¥É¤Î³«»Ï¥¢¥É¥ì¥¹¡¢ ½ªÎ»¥¢¥É¥ì¥¹¤òɽ¼¨¤·¤Þ¤¹¡£ list¥³¥Þ¥ó¥É ¡Êsee Printing source lines¡Ë ¤¬Íý²ò¤Ç¤­¤ëǤ°Õ¤Î·Á¼°¤Ë¤è¤Ã¤Æ¥½¡¼¥¹¹Ô¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

Î㤨¤Ð¡¢ info line¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¡¢ ´Ø¿ôm4_changequote¤ÎºÇ½é¤Î¹Ô¤ËÂбþ¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¡¦¥³¡¼¥É¤Î°ÌÃÖ¤òÃΤ뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£

(gdb) info line m4_changecom
Line 895 of "builtin.c" starts at pc 0x634c and ends at 0x6350.

¤Þ¤¿¡¢ ¡Êlinespec¤Î·Á¼°¤È¤·¤Æ*addr¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡Ë ¤¢¤ëÆÃÄê¤Î¥¢¥É¥ì¥¹¤¬¤É¤Î¥½¡¼¥¹¹Ô¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤Î¤«¤òÌ䤤¹ç¤ï¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

(gdb) info line *0x63ff
Line 926 of "builtin.c" starts at pc 0x63e4 and ends at 0x6404.

info line¤Î¼Â¹Ô¸å¡¢ x¥³¥Þ¥ó¥É¤Î¥Ç¥Õ¥©¥ë¥È¡¦¥¢¥É¥ì¥¹¤Ï¡¢ ¤½¤Î¹Ô¤ÎÀèÆ¬¥¢¥É¥ì¥¹¤ËÊѹ¹¤µ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤ê¡¢ ¥Þ¥·¥ó¡¦¥³¡¼¥É¤ÎÄ´ºº¤ò³«»Ï¤¹¤ë¤Ë¤Ï‘x/i’¤ò¼Â¹Ô¤¹¤ë¤À¤±¤Ç½½Ê¬¤È¤Ê¤ê¤Þ¤¹ ¡Êsee Examining memory¡Ë¡£ ¤Þ¤¿¡¢ ¤³¤Î¥¢¥É¥ì¥¹¤Ï¥³¥ó¥Ó¥Ë¥¨¥ó¥¹ÊÑ¿ô$_¤ÎÃͤȤ·¤ÆÊݸ¤µ¤ì¤Þ¤¹ ¡Êsee Convenience variables¡Ë¡£

disassemble

¤³¤ÎÆÃ¼ì¥³¥Þ¥ó¥É¤Ï¡¢ ¤¢¤ë¥á¥â¥êÈϰϤò¥Þ¥·¥óÌ¿Îá¤È¤·¤Æ¥À¥ó¥×½ÐÎϤ·¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Î¥á¥â¥êÈϰϤϡ¢ ÁªÂò¤µ¤ì¤¿¥Õ¥ì¡¼¥à¤Ë¤ª¤¤¤Æ¥×¥í¥°¥é¥à¡¦¥«¥¦¥ó¥¿¤¬»Ø¤·¤Æ¤¤¤ë²Õ½ê¤ò´Þ¤à´Ø¿ô¤Ç¤¹¡£ ¤³¤Î¥³¥Þ¥ó¥É¤Ë°ú¿ô¤ò1¤ÄÅϤ¹¤È¡¢ ¤½¤ì¤Ï¥×¥í¥°¥é¥à¡¦¥«¥¦¥ó¥¿Ãͤò»ØÄꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ GDB¤Ï¡¢ ¤½¤ÎÃͤ¬»Ø¤¹²Õ½ê¤ò´Þ¤ó¤Ç¤¤¤ë´Ø¿ô¤ò¥À¥ó¥×½ÐÎϤ·¤Þ¤¹¡£ 2¤Ä¤Î°ú¿ô¤òÅϤ¹¤È¡¢ ¥À¥ó¥×½ÐÎϤ¹¤ë¥¢¥É¥ì¥¹ÈÏ°Ï ¡Ê1¤Ä¤á¤Î¥¢¥É¥ì¥¹¤Ï´Þ¤Þ¤ì¤Þ¤¹¤¬¡¢ 2¤Ä¤á¤Î¥¢¥É¥ì¥¹¤Ï´Þ¤Þ¤ì¤Þ¤»¤ó¡Ë ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

°Ê²¼¤ÎÎã¤Ï¡¢ ¤¢¤ë¥¢¥É¥ì¥¹ÈϰϤÎHP PA-RISC 2.0¥³¡¼¥É¤òµÕ¥¢¥»¥ó¥Ö¥ë¤·¤¿·ë²Ì¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£

(gdb) disas 0x32c4 0x32e4
Dump of assembler code from 0x32c4 to 0x32e4:
0x32c4 <main+204>:      addil 0,dp
0x32c8 <main+208>:      ldw 0x22c(sr0,r1),r26
0x32cc <main+212>:      ldil 0x3000,r31
0x32d0 <main+216>:      ble 0x3f8(sr4,r31)
0x32d4 <main+220>:      ldo 0(r31),rp
0x32d8 <main+224>:      addil -0x800,dp
0x32dc <main+228>:      ldo 0x588(r1),r26
0x32e0 <main+232>:      ldil 0x3000,r31
End of assembler dump.

¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë¤è¤Ã¤Æ¤Ï¡¢ °ìÈ̤˻ÈÍѤµ¤ì¤ëÌ¿Îá¥Ë¡¼¥â¥Ë¥Ã¥¯¤òÊ£¿ô»ý¤Ä¤â¤Î¤ä¡¢ °Û¤Ê¤ë¹½Ê¸¤ò»ý¤Ä¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£

set assembly-language instruction-set

disassemble¥³¥Þ¥ó¥É¤Þ¤¿¤Ïx/i¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ¥×¥í¥°¥é¥à¤ÎµÕ¥¢¥»¥ó¥Ö¥ë¤ò¹Ô¤¦ºÝ¤Ë»ÈÍѤ¹¤ë Ì¿Î᥻¥Ã¥È¤òÁªÂò¤·¤Þ¤¹¡£

¸½ºß¤Î¤È¤³¤í¡¢ ¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢ Intel x86¥Õ¥¡¥ß¥ê¤ËÂФ·¤Æ¤Î¤ßÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ instruction-set¤Ï¡¢ i386¤Èi8086¤Î¤¤¤º¤ì¤«¤Ë¥»¥Ã¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ïi386¤Ç¤¹¡£