Next: , Previous: Sequences, Up: Top   [Contents][Index]


16 GNU Emacs¤ÎÃæ¤Ç¤ÎGDB¤Î»ÈÍÑ

GDB¤Ç¥Ç¥Ð¥Ã¥°Ãæ¤Î¥×¥í¥°¥é¥à¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤òGNU Emacs¤ò»È¤Ã¤Æ»²¾È¡Ê¤ª¤è¤ÓÊÔ½¸¡Ë¤¹¤ë¤¿¤á¤Î¡¢ ÆÃÊ̤ʥ¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤¬Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£

¤³¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò»È¤¦¤Ë¤Ï¡¢ Emacs¤ÎÃæ¤ÇM-x gdb¥³¥Þ¥ó¥É¤ò»È¤¤¤Þ¤¹¡£ ¥Ç¥Ð¥Ã¥°¤·¤¿¤¤¼Â¹Ô¥Õ¥¡¥¤¥ë¤ò°ú¿ô¤È¤·¤Æ»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢ GDB¤òEmacs¤Î¥µ¥Ö¥×¥í¥»¥¹¤È¤·¤Æµ¯Æ°¤·¡¢ ¿·¤·¤¯ºîÀ®¤·¤¿Emacs¥Ð¥Ã¥Õ¥¡¤òÄ̤¸¤ÆÆþ½ÐÎϤò¹Ô¤¤¤Þ¤¹¡£

Emacs¤ÎÃæ¤Ç¤ÎGDB¤Î»È¤¤Êý¤Ï¡¢ Ä̾ï¤ÎGDB¤Î»È¤¤Êý¤È¤Û¤ÜƱÍͤǤ¹¤¬¡¢ 2¤ÄÁê°ãÅÀ¤¬¤¢¤ê¤Þ¤¹¡£

¤³¤ì¤Ï¡¢ GDB¥³¥Þ¥ó¥É¤È¤½¤Î½ÐÎÏ¡¢ ¤ª¤è¤Ó¡¢ ¥Ç¥Ð¥Ã¥°ÂоݤΥ桼¥¶¡¦¥×¥í¥°¥é¥à¤Ë¤è¤ëÆþ½ÐÎϤÎξÊý¤ËŬÍѤµ¤ì¤Þ¤¹¡£

°ÊÁ°¤Ë¼Â¹Ô¤·¤¿¥³¥Þ¥ó¥É¡¦¥Æ¥­¥¹¥È¤ò¥³¥Ô¡¼¤·¤ÆºÆÆþÎϤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤ÇÊØÍø¤Ç¤¹¡£ ½ÐÎϤµ¤ì¤¿Éôʬ¤Ë´Ø¤·¤Æ¤âƱÍͤΤ³¤È¤¬¤Ç¤­¤Þ¤¹¡£

Emacs¤ÎShell¥â¡¼¥É¤ÇÍøÍѲÄǽ¤Ê¤¹¤Ù¤Æ¤Îµ¡Ç½¤ò¡¢ ¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤È¤Î¤ä¤ê¤È¤ê¤Ç»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ÆÃ¤Ë¡¢ Ä̾ï¤É¤ª¤ê¤Ë¥·¥°¥Ê¥ë¤òÁ÷¿®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Î㤨¤Ð¡¢ C-c C-c¤Ç³ä¤ê¹þ¤ß¥·¥°¥Ê¥ë¤ò¡¢ C-c C-z¤Ç¥¹¥È¥Ã¥×¡¦¥·¥°¥Ê¥ë¤òȯÀ¸¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

GDB¤¬¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤òɽ¼¨¤¹¤ë¤È¤­¤Ë¤Ï¤¤¤Ä¤Ç¤â¡¢ Emacs¤¬¤½¤Î¥Õ¥ì¡¼¥à¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¼«Æ°Åª¤Ë¸«¤Ä¤±¤Æ¡¢ ¥«¥ì¥ó¥È¹Ô¤Îº¸Â¦¤Î;Çò¤ËÌð°õ ¡Ê‘=>’¡Ë ¤òɽ¼¨¤·¤Þ¤¹¡£ Emacs¤Ï¥½¡¼¥¹¡¦¥³¡¼¥É¤òÊ̥Хåե¡¤Ëɽ¼¨¤·¡¢ ¥¹¥¯¥ê¡¼¥ó¤ò2¤Ä¤Ëʬ¤±¤Æ¡¢ GDB¥»¥Ã¥·¥ç¥ó¤È¥½¡¼¥¹¤ò¤È¤â¤Ëɽ¼¨¤·¤Þ¤¹¡£

GDB¤Îlist¥³¥Þ¥ó¥É¤äsearch¥³¥Þ¥ó¥É¤òÌÀ¼¨Åª¤Ë»È¤¨¤Ð¡¢ Ä̾ï¤É¤ª¤ê¤Î½ÐÎϤòÀ¸À®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢ ¤³¤ì¤é¤òEmacs¤«¤é»È¤¦Íýͳ¤Ï¤ª¤½¤é¤¯¤Ê¤¤¤Ç¤·¤ç¤¦¡£

Ãí°Õ: ¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤Î¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤¬¥æ¡¼¥¶¤Î¥«¥ì¥ó¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ê¤¤¾ì¹ç¡¢ ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Î¸ºß¾ì½ê¤Ë¤Ä¤¤¤ÆEmacs¤Ï´Êñ¤Ëº®Íð¤Ë´Ù¤ê¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ê¾ì¹ç¡¢ ¥½¡¼¥¹¤òɽ¼¨¤¹¤ë¤¿¤á¤ÎÄɲäΥǥ£¥¹¥×¥ì¥¤¡¦¥Ð¥Ã¥Õ¥¡¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£ GDB¤Ï¡¢ ¥æ¡¼¥¶¤Î´Ä¶­ÊÑ¿ôPATH¤Î¥ê¥¹¥È¤ÎÃæ¤Ë¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤òõº÷¤·¤Æ¥×¥í¥°¥é¥à¤ò¸«¤Ä¤±½Ð¤·¤Þ¤¹¤Î¤Ç¡¢ GDB¤ÎÆþ½ÐÎÏ¥»¥Ã¥·¥ç¥ó¤ÏÄ̾ï¤É¤ª¤ê¿Ê¹Ô¤·¤Þ¤¹¡£ ¤·¤«¤·Emacs¤Ï¡¢ ¤³¤Î¤è¤¦¤Ê¾õ¶·¤Ë¤ª¤¤¤Æ¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±½Ð¤¹¤Î¤Ë½½Ê¬¤Ê¾ðÊó¤òGDB¤«¤é¼õ¤±¼è¤Ã¤Æ¤¤¤Þ¤»¤ó¡£ ¤³¤ÎÌäÂê¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢ ¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤Î¸ºß¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤«¤éGDB¥â¡¼¥É¤ò³«»Ï¤¹¤ë¤«¡¢ M-x gdb¤Î°ú¿ô¤ÎÆþÎϤòµá¤á¤é¤ì¤¿¤È¤­¤Ë¡¢ ÀäÂХѥ¹¤Ç¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Þ¤¹¡£

Emacs¤Î´û¸¤ÎGDB¥Ð¥Ã¥Õ¥¡¤«¤é¡¢ ¥Ç¥Ð¥Ã¥°Âоݤò¤É¤³¤«¤Û¤«¤Î¾ì½ê¤Ë¤¢¤ë¥×¥í¥°¥é¥à¤ËÊѹ¹¤¹¤ëÌÜŪ¤ÇGDB¤Îfile¥³¥Þ¥ó¥É¤ò»È¤¦¤È¡¢ ƱÍͤκ®Íð¤ÎȯÀ¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£

¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ M-x gdb¤Ïgdb¤È¤¤¤¦Ì¾Á°¤Î¥×¥í¥°¥é¥à¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ Ê̤Î̾Á°¤ÇGDB¤ò¸Æ¤Ó½Ð¤¹É¬Íפ¬¤¢¤ë¾ì¹ç ¡ÊÎ㤨¤Ð¡¢ °Û¤Ê¤ë¹½À®¤ÎGDB¤òÊ̤Î̾Á°¤Ç»ý¤Ã¤Æ¤¤¤ë¤è¤¦¤Ê¾ì¹ç¡Ë ¤Ï¡¢ Emacs¤Îgdb-command-name¤È¤¤¤¦ÊÑ¿ô¤òÀßÄꤷ¤Þ¤¹¡£ Î㤨¤Ð

(setq gdb-command-name "mygdb")

¡Ê¤òESC ESC¤Ë³¤±¤ÆÆþÎϤ¹¤ë¤«¡¢ ¤¢¤ë¤¤¤Ï¡¢ *scratch*¥Ð¥Ã¥Õ¥¡¤Þ¤¿¤Ï.emacs¥Õ¥¡¥¤¥ë¤ËÆþÎϤ¹¤ë¤³¤È¤Ç¡Ë Emacs¤Ïgdb¤ÎÂå¤ï¤ê¤Ë¡Ömygdb¡×¤È¤¤¤¦Ì¾Á°¤Î¥×¥í¥°¥é¥à¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£

GDB¤ÎI/O¥Ð¥Ã¥Õ¥¡¤Ç¤Ï¡¢ ɸ½àŪ¤ÊShell¥â¡¼¥É¤Î¥³¥Þ¥ó¥É¤Ë²Ã¤¨¤Æ¡¢ °Ê²¼¤Î¤è¤¦¤ÊÆÃÊ̤ÊEmacs¥³¥Þ¥ó¥É¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

C-h m

Emacs¤ÎGDB¥â¡¼¥É¤Îµ¡Ç½¤Ë´Ø¤¹¤ëÀâÌÀ¤òɽ¼¨¤·¤Þ¤¹¡£

M-s

GDB¤Îstep¥³¥Þ¥ó¥É¤Î¤è¤¦¤Ë¡¢ ¥½¡¼¥¹¹Ô¤ò1¹Ô¼Â¹Ô¤·¤Þ¤¹¡£ ¤µ¤é¤Ë¡¢ ¥«¥ì¥ó¥È¤Ê¥Õ¥¡¥¤¥ë¤È¤½¤ÎÃæ¤Ë¤ª¤±¤ë°ÌÃÖ¤ò¼¨¤¹¤¿¤á¤Ë¡¢ ɽ¼¨¥¦¥£¥ó¥É¥¦¤ò¹¹¿·¤·¤Þ¤¹¡£

M-n

GDB¤Înext¥³¥Þ¥ó¥É¤Î¤è¤¦¤Ë¡¢ ´Ø¿ô¸Æ¤Ó½Ð¤·¤ò¤¹¤Ù¤Æ¥¹¥­¥Ã¥×¤·¤Æ¡¢ ¸½ºß¤Î´Ø¿ôÆâ¤Î¼¡¤Î¥½¡¼¥¹¹Ô¤Þ¤Ç¼Â¹Ô¤ò¿Ê¤á¤Þ¤¹¡£ ¤µ¤é¤Ë¡¢ ¥«¥ì¥ó¥È¤Ê¥Õ¥¡¥¤¥ë¤È¤½¤ÎÃæ¤Ë¤ª¤±¤ë°ÌÃÖ¤ò¼¨¤¹¤¿¤á¤Ë¡¢ ɽ¼¨¥¦¥£¥ó¥É¥¦¤ò¹¹¿·¤·¤Þ¤¹¡£

M-i

GDB¤Îstepi¥³¥Þ¥ó¥É¤Î¤è¤¦¤Ë¡¢ 1Ì¿Îá¤ò¼Â¹Ô¤·¤Þ¤¹¡£ ɬÍפ˱þ¤¸¤ÆÉ½¼¨¥¦¥£¥ó¥É¥¦¤ò¹¹¿·¤·¤Þ¤¹¡£

M-x gdb-nexti

GDB¤Înexti¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¡¢ ¼¡¤ÎÌ¿Îá¤Þ¤Ç¼Â¹Ô¤·¤Þ¤¹¡£ ɬÍפ˱þ¤¸¤ÆÉ½¼¨¥¦¥£¥ó¥É¥¦¤ò¹¹¿·¤·¤Þ¤¹¡£

C-c C-f

GDB¤Îfinish¥³¥Þ¥ó¥É¤Î¤è¤¦¤Ë¡¢ ÁªÂò¤µ¤ì¤¿¥¹¥¿¥Ã¥¯¡¦¥Õ¥ì¡¼¥à¤ò½ªÎ»¤¹¤ë¤Þ¤Ç¼Â¹Ô¤ò·Ñ³¤·¤Þ¤¹¡£

M-c

GDB¤Îcontinue¥³¥Þ¥ó¥É¤Î¤è¤¦¤Ë¡¢ ¥æ¡¼¥¶¡¦¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤ò·Ñ³¤·¤Þ¤¹¡£

Ãí°Õ: Emacs v19¤Ç¤Ï¡¢ ¤³¤Î¥³¥Þ¥ó¥É¤ÏC-c C-p¤Ç¤¹¡£

M-u

GDB¤Îup¥³¥Þ¥ó¥É¤Î¤è¤¦¤Ë¡¢ ¿ôÃͰú¿ô¤Ë¤è¤Ã¤Æ¼¨¤µ¤ì¤ë¿ô¤À¤±¾å°Ì¤Î¥Õ¥ì¡¼¥à¤Ë°Üư¤·¤Þ¤¹ ¡Êsee Numeric Arguments in The GNU Emacs Manual 4¡Ë¡£

Ãí°Õ: Emacs v19¤Ç¤Ï¡¢ ¤³¤Î¥³¥Þ¥ó¥É¤ÏC-c C-u¤Ç¤¹¡£

M-d

GDB¤Îdown¥³¥Þ¥ó¥É¤Î¤è¤¦¤Ë¡¢ ¿ôÃͰú¿ô¤Ë¤è¤Ã¤Æ¼¨¤µ¤ì¤ë¿ô¤À¤±²¼°Ì¤Î¥Õ¥ì¡¼¥à¤Ë°Üư¤·¤Þ¤¹¡£

Ãí°Õ: Emacs v19¤Ç¤Ï¡¢ ¤³¤Î¥³¥Þ¥ó¥É¤ÏC-c C-d¤Ç¤¹¡£

C-x &

¥«¡¼¥½¥ë¤Î°ÌÃ֤ˤ¢¤ë¿ôÃͤòÆÉ¤ß¼è¤ê¡¢ GDB¤ÎI/O¥Ð¥Ã¥Õ¥¡¤ÎËöÈø¤ËÁÞÆþ¤·¤Þ¤¹¡£ Î㤨¤Ð¡¢ °ÊÁ°¤Ëɽ¼¨¤µ¤ì¤¿¥¢¥É¥ì¥¹¤ÎÁ°¸å¤Î¥³¡¼¥É¤òµÕ¥¢¥»¥ó¥Ö¥ë¤·¤¿¤¤¤È¤·¤Þ¤·¤ç¤¦¡£ ¤³¤Î¾ì¹ç¡¢ ¤Þ¤ºdisassemble¤ÈÆþÎϤ·¡¢ ¼¡¤Ëɽ¼¨¤µ¤ì¤¿¥¢¥É¥ì¥¹¤Î¤È¤³¤í¤Ë¥«¡¼¥½¥ë¤ò°Üư¤·¡¢ disassemble¤Ø¤Î°ú¿ô¤òC-x &¤ÇÆÉ¤ß¼è¤ê¤Þ¤¹¡£

gdb-print-command¥ê¥¹¥È¤ÎÍ×ÁǤòÄêµÁ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ ¤³¤ì¤ò¤µ¤é¤Ë¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤È¡¢ C-x &¤ÇÆþ¼ê¤·¤¿¿ôÃͤ¬ÁÞÆþ¤µ¤ì¤ëÁ°¤Ë¡¢ ¤½¤ì¤ò¥Õ¥©¡¼¥Þ¥Ã¥È¤·¤¿¤ê¡¢ ½èÍý¤·¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ C-x &¤Ë¿ôÃͰú¿ô¤ò»ØÄꤹ¤ë¤È¡¢ ÆÃÊ̤ʥե©¡¼¥Þ¥Ã¥È½èÍý¤òɬÍפȤ·¤Æ¤¤¤ë¤È¤¤¤¦°ÕÌ£¤Ë¤Ê¤ê¡¢ ¤½¤Î¿ôÃͤ¬¥ê¥¹¥È¤ÎÍ×ÁǤò¼èÆÀ¤¹¤ë¤¿¤á¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤Ê¤ê¤Þ¤¹¡£ ¥ê¥¹¥È¤ÎÍ×ÁǤ¬Ê¸»úÎó¤Î¾ì¹ç¤Ï¡¢ ÁÞÆþ¤µ¤ì¤ë¿ôÃͤÏEmacs¤Îformat´Ø¿ô¤Ë¤è¤Ã¤Æ¥Õ¥©¡¼¥Þ¥Ã¥È¤µ¤ì¤Þ¤¹¡£ ¥ê¥¹¥È¤ÎÍ×ÁǤ¬Ê¸»úÎó°Ê³°¤Î¾ì¹ç¤Ï¡¢ ¤½¤Î¿ôÃͤ¬¡¢ Âбþ¤¹¤ë¥ê¥¹¥ÈÍ×ÁǤؤΰú¿ô¤È¤·¤ÆÅϤµ¤ì¤Þ¤¹¡£

¤É¤Î¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ç¤â¡¢ Emacs¤ÎC-x SPC¡Êgdb-break¡Ë¥³¥Þ¥ó¥É¤Ï¡¢ ¥Ý¥¤¥ó¥È¤ÎÃÖ¤«¤ì¤Æ¤¤¤ë¥½¡¼¥¹¹Ô¤Ë¥Ö¥ì¥¤¥¯¥Ý¥¤¥ó¥È¤òÀßÄꤹ¤ë¤è¤¦GDB¤ËÂФ·¤Æ»Ø¼¨¤·¤Þ¤¹¡£

¥½¡¼¥¹¤òɽ¼¨Ãæ¤Î¥Ð¥Ã¥Õ¥¡¤ò¸í¤Ã¤Æºï½ü¤·¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤Ë¡¢ ¤½¤ì¤òºÆÉ½¼¨¤µ¤»¤ë´Êñ¤ÊÊýË¡¤Ï¡¢ GDB¥Ð¥Ã¥Õ¥¡¤ÎÃæ¤Çf¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Æ¡¢ ¥Õ¥ì¡¼¥àɽ¼¨¤òÍ׵᤹¤ë¤³¤È¤Ç¤¹¡£ EmacsÇÛ²¼¤Ç¤Ï¡¢ ¥«¥ì¥ó¥È¡¦¥Õ¥ì¡¼¥à¤Î¥³¥ó¥Æ¥­¥¹¥È¤òɽ¼¨¤¹¤ë¤¿¤á¤ËɬÍפǤ¢¤ì¤Ð¡¢ ¥½¡¼¥¹¡¦¥Ð¥Ã¥Õ¥¡¤¬ºÆºîÀ®¤µ¤ì¤Þ¤¹¡£

Emacs¤Ë¤è¤Ã¤ÆÉ½¼¨¤µ¤ì¤ë¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ï¡¢ Ä̾ï¤É¤ª¤ê¤ÎÊýË¡¤Ç¥½¡¼¥¹¡¦¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤¹¤ë¡¢ ÉáÄ̤ÎEmacs¥Ð¥Ã¥Õ¥¡¤Ë¤è¤Ã¤ÆÉ½¼¨¤µ¤ì¤Þ¤¹¡£ ¤½¤¦¤·¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢ ¤³¤ì¤é¤Î¥Ð¥Ã¥Õ¥¡¤ÎÃæ¤Ç¥Õ¥¡¥¤¥ë¤ÎÊÔ½¸¤ò¹Ô¤¦¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢ GDB¤ÈEmacs¤Î´Ö¤Ç¹ÔÈÖ¹æ¤Ë´Ø¤¹¤ë¾ðÊ󤬸ò´¹¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òƬ¤ËÆþ¤ì¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ ¥Æ¥­¥¹¥È¤Ë¹Ô¤òÁÞÆþ¤·¤¿¤ê¡¢ ºï½ü¤·¤¿¤ê¤¹¤ë¤È¡¢ GDB¤Îǧ¼±¤·¤Æ¤¤¤ë¥½¡¼¥¹¹ÔÈÖ¹æ¤Ï¡¢ ¼ÂºÝ¤Î¥³¡¼¥É¤ÈÀµ¤·¤¯Âбþ¤·¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£


Footnotes

(4)

ÌõÃí¡§GNU Emacs 19 ¥Þ¥Ë¥å¥¢¥ë¡ÊÀ±±À¼Ò¡Ë¤Î¡Ö¥Ë¥å¡¼¥á¥ê¥Ã¥¯°ú¿ô¡×¡¢ GNU Emacs ¥Þ¥Ë¥å¥¢¥ë¡Ê¶¦Î©½ÐÈǡˤΡֿô°ú¿ô¡×¤Ë¡¢ ÆüËܸìÌõ¤¬¤¢¤ê¤Þ¤¹¡£