Next: , Previous: Debugger Commands, Up: Debugger   [Contents][Index]


17.1.7 ¥Ç¥Ð¥Ã¥¬¤Îµ¯Æ°

¤³¤³¤Ç¤Ï¡¢¥Ç¥Ð¥Ã¥¬¤òµ¯Æ°¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë´Ø¿ôdebug¤Î¾ÜºÙ¤ò½Ò¤Ù¤Þ¤¹¡£

Function: debug &rest debugger-args

¤³¤Î´Ø¿ô¤Ï¥Ç¥Ð¥Ã¥¬¤ËÆþ¤ë¡£ ‘*Backtrace*’¡Ê¤¢¤ë¤¤¤Ï¥Ç¥Ð¥Ã¥¬¤ÎÂè2¥ì¥Ù¥ë¤ËºÆµ¢Åª¤ËÆþ¤ë¤È ‘*Backtrace*<2>’¤Ê¤É¡Ë¤È¤¤¤¦Ì¾Á°¤Î¥Ð¥Ã¥Õ¥¡¤ËÀÚ¤êÂØ¤¨¡¢ Lisp´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯¤Ë´Ø¤¹¤ë¾ðÊó¤Ç¤³¤Î¥Ð¥Ã¥Õ¥¡¤òËþ¤¿¤¹¡£ ¤½¤·¤ÆºÆµ¢ÊÔ½¸¤ËÆþ¤êdebugger¥â¡¼¥É¤Î¥Ð¥Ã¥¯¥È¥ì¡¼¥¹¥Ð¥Ã¥Õ¥¡¤òɽ¼¨¤¹¤ë¡£

debugger¥â¡¼¥É¤Î¥³¥Þ¥ó¥Éc¤är¤ÇºÆµ¢ÊÔ½¸¤«¤éÈ´¤±¤À¤·¡¢ debug¤Ï¤½¤ì°ÊÁ°¤Î¥Ð¥Ã¥Õ¥¡¤ËÀÚ¤êÂØ¤¨ debug¤ò¸Æ¤Ó½Ð¤·¤¿¤È¤³¤í¤ØÌá¤ë¡£ ¤³¤ì¤Ï¡¢´Ø¿ôdebug¤¬¸Æ¤Ó½Ð¤·Â¦¤ØÌá¤ëÍ£°ì¤Î¼êÃʤǤ¢¤ë¡£

debugger-args¤Î»È¤¤ÅӤϡ¢ debug¤¬°ú¿ô¤Î»Ä¤ê¤ò¥Ð¥Ã¥Õ¥¡‘*Backtrace*’¤ÎÀèÆ¬¤Ëɽ¼¨¤·¡¢ ¥æ¡¼¥¶¡¼¤¬ÆÉ¤á¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£ °Ê²¼¤Ë½Ò¤Ù¤ë¾ì¹ç¤ò½ü¤¤¤Æ¡¢¤³¤ì¤¬¤³¤ì¤é¤Î°ú¿ô¤ÎÍ£°ì¤ÎÍÑÅӤǤ¢¤ë¡£

debug¤ÎÂè1°ú¿ô¤¬ÆÃÄê¤ÎÃͤò»ý¤Ä¾ì¹ç¡¢ÆÃÊ̤ʰÕÌ£¤¬¤¢¤ë¡£ ¡ÊÄ̾¤³¤ì¤é¤ÎÃͤÏEmacsÆâÉô¤ÇÍѤ¤¤ë¤À¤±¤Ç¤¢¤ê¡¢ ¥×¥í¥°¥é¥Þ¤¬debug¤ò¸Æ¤Ö¤È¤­¤Ë¤Ï»È¤ï¤Ê¤¤¡£¡Ë °Ê²¼¤Ë¤³¤ì¤é¤ÎÆÃÊ̤ÊÃͤò¼¨¤¹¡£

lambda

Âè1°ú¿ô¤¬lambda¤Ç¤¢¤ë¤È¡¢ debug-on-next-call¤¬nil°Ê³°¤Ç¤¢¤ë¤¿¤á¤Ë ´Ø¿ô¤ËÆþ¤ë¤È¤­¤Ëdebug¤ò¸Æ¤Ó½Ð¤·¤¿¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ ¥Ç¥Ð¥Ã¥¬¤Ï¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¤Ë¥Æ¥­¥¹¥È¹Ô‘Entering:’¤òɽ¼¨¤¹¤ë¡£

debug

Âè1°ú¿ô¤¬debug¤Ç¤¢¤ë¤È¡¢ ´Ø¿ô¤ËÆþ¤ë¤È¤­¤Ë¥Ç¥Ð¥Ã¥¬¤òµ¯Æ°¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤¿¤á¤Ë debug¤ò¸Æ¤Ó½Ð¤·¤¿¤³¤È¤ò¼¨¤¹¡£ ¥Ç¥Ð¥Ã¥¬¤Ï¡¢lambda¤Î¾ì¹ç¤ÈƱÍͤˡ¢‘Entering:’¤òɽ¼¨¤¹¤ë¡£ ¤µ¤é¤Ë¡¢Åö³º´Ø¿ô¤Î¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤Ë´Ø¿ô¤«¤é Ìá¤ë¤È¤­¤Ë¥Ç¥Ð¥Ã¥¬¤òµ¯Æ°¤¹¤ë¤è¤¦¤Ë°õ¤òÉÕ¤±¤ë¡£

t

Âè1°ú¿ô¤¬t¤Ç¤¢¤ë¤È¡¢ debug-on-next-call¤¬nil°Ê³°¤Ç¤¢¤ë¤È¤­¤Ë ¥Õ¥©¡¼¥à¤ÎʤӤòɾ²Á¤·¤¿¤¿¤á¤Ë debug¤ò¸Æ¤Ó½Ð¤·¤¿¤³¤È¤ò¼¨¤¹¡£ ¥Ç¥Ð¥Ã¥¬¤Ï¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¹Ô¤Ë¤Ä¤®¤Î¹Ô¤òɽ¼¨¤¹¤ë¡£

Beginning evaluation of function call form:
exit

Âè1°ú¿ô¤¬exit¤Ç¤¢¤ë¤È¡¢ ¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤«¤éÈ´¤±¤ë¤È¤­¤Ë¥Ç¥Ð¥Ã¥¬¤ò¸Æ¤Ó½Ð¤¹¤è¤¦¤Ë°õ¤ò ÉÕ¤±¤¿¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤«¤éÈ´¤±¤¿¤³¤È¤ò¼¨¤¹¡£ ¤³¤Î¾ì¹ç¡¢debug¤ÎÂè2°ú¿ô¤Ï¥Õ¥ì¡¼¥à¤«¤é¤ÎÌá¤êÃͤǤ¢¤ë¡£ ¥Ç¥Ð¥Ã¥¬¤Ï¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¹Ô¤Ë‘Return value:’¤Ë³¤±¤ÆÌá¤êÃͤòɽ¼¨¤¹¤ë¡£

error

Âè1°ú¿ô¤¬error¤Ç¤¢¤ë¤È¡¢ ¥¨¥é¡¼¤äquit¤¬ÄÌÃΤµ¤ì¤¿¤¬½èÍý¤µ¤ì¤Ê¤¤¤¿¤á¤Ë¥Ç¥Ð¥Ã¥¬¤ËÆþ¤Ã¤¿¤³¤È¤ò¼¨¤·¡¢ ‘Signaling:’¤Ë³¤±¤ÆÄÌÃΤµ¤ì¤¿¥¨¥é¡¼¤Èsignal¤Î°ú¿ô¤òɽ¼¨¤¹¤ë¡£ ¤¿¤È¤¨¤Ð¤Ä¤®¤Î¤È¤ª¤ê¡£

(let ((debug-on-error t))
  (/ 1 0))
------ Buffer: *Backtrace* ------
Signaling: (arith-error)
  /(1 0)
...
------ Buffer: *Backtrace* ------

¥¨¥é¡¼¤¬ÄÌÃΤµ¤ì¤¿¤È¤­¤Ë¤Ï¡¢ ÊÑ¿ôdebug-on-error¤Ïnil°Ê³°¤Ç¤¢¤ë¤Ï¤º¤Ç¤¢¤ë¡£ quit¤¬ÄÌÃΤµ¤ì¤¿¤È¤­¤Ë¤Ï¡¢ ÊÑ¿ôdebug-on-quit¤Ïnil°Ê³°¤Ç¤¢¤ë¤Ï¤º¤Ç¤¢¤ë¡£

nil

ÌÀ¼¨Åª¤Ë¥Ç¥Ð¥Ã¥¬¤ËÆþ¤ë¤È¤­¤Ë¤Ï¡¢ debugger-args¤ÎÀèÆ¬¤È¤·¤Ænil¤ò»È¤¦¡£ debugger-args¤Î»Ä¤ê¤Ï¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¹Ô¤Ëɽ¼¨¤µ¤ì¤ë¡£ ¤³¤Îµ¡Ç½¤òÍѤ¤¤Æ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤Ç¤­¡¢ ¤¿¤È¤¨¤Ð¡¢debug¤ò¸Æ¤Ó½Ð¤·¤¿¾ò·ï¤Î³Ð¤¨½ñ¤­¤Ë¤¹¤ë¡£