Next: , Previous: Using History Interactively, Up: Top   [Contents][Index]


Appendix C GDB¤Î¥¤¥ó¥¹¥È¡¼¥ë

GDB¤Ë¤Ï¡¢ ¥¤¥ó¥¹¥È¡¼¥ë¤Î¤¿¤á¤Î½àÈ÷ºî¶È¤ò¼«Æ°²½¤¹¤ëconfigure¥¹¥¯¥ê¥×¥È¤¬ÉÕ°¤·¤Æ¤¤¤Þ¤¹¡£ configure¤ò¼Â¹Ô¤·¤¿¸å¤Ëmake¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢ gdb¤ò¥Ó¥ë¥É¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

GDB¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ë¤Ï¡¢ GDB¤ò¥Ó¥ë¥É¤¹¤ë¤Î¤ËɬÍפʤ¹¤Ù¤Æ¤Î¥½¡¼¥¹¡¦¥³¡¼¥É¤¬¡¢ ñ°ì¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¼ý¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î̾Á°¤ÏÄ̾ ‘gdb’¤Î¸å¤í¤Ë¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òÉղä·¤¿¤â¤Î¤Ç¤¹¡£

Î㤨¤Ð¡¢ ¥Ð¡¼¥¸¥ç¥ó4.18¤ÎGDB¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ï¡¢ gdb-4.18¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¼ý¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£ ¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¡¢ °Ê²¼¤Î¤â¤Î¤¬´Þ¤Þ¤ì¤Þ¤¹¡£

gdb-4.18/configure ¡Ê¤ª¤è¤Ó¥µ¥Ý¡¼¥È¡¦¥Õ¥¡¥¤¥ë¡Ë

GDB¡¢ ¤ª¤è¤Ó¡¢ GDB¤¬É¬ÍפȤ¹¤ë¤¹¤Ù¤Æ¤Î¥é¥¤¥Ö¥é¥ê¤Î¹½À®¤ò¹Ô¤¦¤¿¤á¤Î¥¹¥¯¥ê¥×¥È

gdb-4.18/gdb

GDB¼«¿È¤Ë¸ÇÍ­¤Î¥½¡¼¥¹

gdb-4.18/bfd

Binary File Descriptor¥é¥¤¥Ö¥é¥ê¤Î¥½¡¼¥¹

gdb-4.18/include

GNU¥¤¥ó¥¯¥ë¡¼¥É¡¦¥Õ¥¡¥¤¥ë

gdb-4.18/libiberty

-liberty’¥Õ¥ê¡¼¡¦¥½¥Õ¥È¥¦¥§¥¢¡¦¥é¥¤¥Ö¥é¥ê¤Î¥½¡¼¥¹

gdb-4.18/opcodes

opcode¥Æ¡¼¥Ö¥ë¤ª¤è¤ÓµÕ¥¢¥»¥ó¥Ö¥é¤Î¥é¥¤¥Ö¥é¥ê¤Î¥½¡¼¥¹

gdb-4.18/readline

GNU¥³¥Þ¥ó¥É¥é¥¤¥ó¡¦¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Î¥½¡¼¥¹

gdb-4.18/glob

GNU¥Õ¥¡¥¤¥ë̾¥Ñ¥¿¡¼¥ó¡¦¥Þ¥Ã¥Á¥ó¥°¡¦¥µ¥Ö¥ë¡¼¥Á¥ó¤Î¥½¡¼¥¹

gdb-4.18/mmalloc

¥á¥â¥ê¤Ë¥Þ¥Ã¥×¤µ¤ì¤ëGNU malloc¥Ñ¥Ã¥±¡¼¥¸¤Î¥½¡¼¥¹

GDB¤Î¹½À®¤È¥Ó¥ë¥É¤ò¹Ô¤¦ºÇ¤â´Êñ¤ÊÊýË¡¤Ï¡¢ gdb-version-number¥½¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤«¤éconfigure¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¤¹¡£ ¤³¤³¤Ç¤ÎÎã¤Ç¤Ï¡¢ ¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ïgdb-4.18¤Ç¤¹¡£

¤â¤·¤Þ¤Àgdb-version-number¥½¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¤¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢ ¤Þ¤º¤½¤³¤Ë°Üư¤·¤Æ¤¯¤À¤µ¤¤¡£ ³¤¤¤Æconfigure¤ò¼Â¹Ô¤·¤Þ¤¹¡£ GDB¤¬¼Â¹Ô¤µ¤ì¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î¼±Ê̻Ҥò°ú¿ô¤È¤·¤ÆÅϤ·¤Þ¤¹¡£

Î㤨¤Ð¡¢ °Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£

cd gdb-4.18
./configure host
make

host¤Ï¡¢ GDB¤¬¼Â¹Ô¤µ¤ì¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ò¼±Ê̤¹¤ë¼±Ê̻ҤǤ¹¡£ Î㤨¤Ð‘sun4’¤ä‘decstation’¤Ê¤É¤Ç¤¹ ¡Ê¿¤¯¤Î¾ì¹çhost¤Ï¾Êά¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤Î¾ì¹çconfigure¤Ï¡¢ ¥æ¡¼¥¶¤Î¥·¥¹¥Æ¥à¤òÄ´¤Ù¤ë¤³¤È¤Ë¤è¤Ã¤ÆÀµ¤·¤¤Ãͤò¿äÄꤷ¤è¤¦¤È¤·¤Þ¤¹¡Ë¡£

configure host’¤ò¼Â¹Ô¤·¤¿¸å¤Ëmake¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢ bfd¡¢ readline¡¢ mmalloc¡¢ libiberty¤Î³Æ¥é¥¤¥Ö¥é¥ê¤¬¥Ó¥ë¥É¤µ¤ì¡¢ ºÇ¸å¤Ëgdb¼«ÂΤ¬¥Ó¥ë¥É¤µ¤ì¤Þ¤¹¡£ ¹½À®¤µ¤ì¤¿¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ä¥Ð¥¤¥Ê¥ê¤Ï¡¢ Âбþ¤¹¤ë¥½¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë»Ä¤µ¤ì¤Þ¤¹¡£

configure¤ÏBourne¥·¥§¥ë ¡Ê/bin/sh¡Ë ¤Î¥¹¥¯¥ê¥×¥È¤Ç¤¹¡£ ¥æ¡¼¥¶¤¬Ê̤Υ·¥§¥ë¤ò¼Â¹Ô¤·¤Æ¤¤¤Æ¡¢ ¥·¥¹¥Æ¥à¤¬¤³¤Î¤³¤È¤ò¼«Æ°Åª¤Ëǧ¼±¤·¤Æ¤¯¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢ ÌÀ¼¨Åª¤Ësh¤Ë¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤µ¤»¤ëɬÍפ¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£

sh configure host

¥Ð¡¼¥¸¥ç¥ó4.18¤Î¥½¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ëgdb-4.18¤Î¤è¤¦¤Ë¡¢ ÇÛ²¼¤ËÊ£¿ô¤Î¥é¥¤¥Ö¥é¥ê¤ä¥×¥í¥°¥é¥à¤Î¥½¡¼¥¹¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤«¤éconfigure¤ò¼Â¹Ô¤¹¤ë¤È¡¢ configure¤ÏÇÛ²¼¤Ë¤¢¤ë¤½¤ì¤¾¤ì¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤¿¤á¤Î¹½À®¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹ ¡Ê‘--norecursion’¥ª¥×¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¡¢ ¤½¤¦¤·¤Ê¤¤¤è¤¦»ØÄꤷ¤¿¾ì¹ç¤ÏÊ̤Ǥ¹¡Ë¡£

GDB¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤ÎÃæ¤ÎÆÃÄê¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¹½À®¤·¤¿¤¤¤À¤±¤Î¾ì¹ç¤Ë¤Ï¡¢ ¤½¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤«¤éconfigure¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¿¤À¤·¡¢ configure¥¹¥¯¥ê¥×¥È¤Ø¤Î¥Ñ¥¹¤òɬ¤º»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£

Î㤨¤Ð¡¢ ¥Ð¡¼¥¸¥ç¥ó4.18¤Ç¤Ï¡¢ bfd¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤À¤±¤ò¹½À®¤¹¤ë¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£

cd gdb-4.18/bfd
../configure host

gdb¤Ï¤É¤³¤Ë¤Ç¤â¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£ ¤¢¤é¤«¤¸¤á¸ÇÄꤵ¤ì¤¿¥Ñ¥¹¤Ï1¤Ä¤â¤¢¤ê¤Þ¤»¤ó¡£ ¤¿¤À¤·¡¢ ¥æ¡¼¥¶¤Î¥Ñ¥¹¤Ë¤¢¤ë ¡Ê‘SHELL’´Ä¶­ÊÑ¿ô¤Ë¤è¤ê»ØÄꤵ¤ì¤ë¡Ë ¥·¥§¥ë¤¬Ã¯¤Ë¤Ç¤âÆÉ¤ß¹þ¤ß²Äǽ¤Ç¤¢¤ë¤³¤È¤ò³Î¤«¤á¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ GDB¤Ï¥·¥§¥ë¤ò»È¤Ã¤Æ¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤òµ¯Æ°¤¹¤ë¤È¤¤¤¦¤³¤È¤ò²±¤¨¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ »Ò¥×¥í¥»¥¹¤¬ÆÉ¤ß¹þ¤ßÉÔ²Ä¤Î¥×¥í¥°¥é¥à¤Ç¤¢¤ë¾ì¹ç¡¢ ¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¡¢ GDB¤¬¤½¤ì¤ò¥Ç¥Ð¥Ã¥°¤¹¤ë¤Î¤òµñÈݤ·¤Þ¤¹¡£