Next: Explicit Debug, Previous: Infinite Loops, Up: Debugger [Contents][Index]
¥×¥í¥°¥é¥à¤ÎÅÓÃæ¤ÇȯÀ¸¤¹¤ëÌäÂêÅÀ¤òÄ´¤Ù¤ë¤¿¤á¤Î1¤Ä¤ÎÍÍѤʵ»Ë¡¤Ï¡¢ ¤¢¤ë´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤¿¤Ó¤Ë¥Ç¥Ð¥Ã¥¬¤ËÆþ¤ë¤³¤È¤Ç¤¹¡£ ÌäÂê¤òÀ¸¤¸¤ë´Ø¿ô¤ËÂФ·¤Æ¤³¤Î¤è¤¦¤Ë¤·¤Æ¤ª¤¡¢ Åö³º´Ø¿ô¤ò¥¹¥Æ¥Ã¥×¼Â¹Ô¤¹¤ë¤«¡¢¤¢¤ë¤¤¤Ï¡¢ ÌäÂ꤬ȯÀ¸¤¹¤ëľÁ°¤Ë¸Æ¤Ð¤ì¤ë´Ø¿ô¤ËÂФ·¤Æ¤³¤Î¤è¤¦¤Ë¤·¤Æ¤ª¤¡¢ ¤½¤Î´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤ò½ª¤¨¤Æ¤«¤é¡¢¸Æ¤Ó½Ð¤·Â¦¤ò¥¹¥Æ¥Ã¥×¼Â¹Ô¤·¤Þ¤¹¡£
¤³¤Î´Ø¿ô¤Ï¡¢function-name¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤¿¤Ó¤Ë
¥Ç¥Ð¥Ã¥¬¤òµ¯Æ°¤¹¤ë¤è¤¦¤Ë¤¹¤ë¡£
Åö³º´Ø¿ô¤ÎÄêµÁ¤ÎºÇ½é¤Î¥Õ¥©¡¼¥à¤È¤·¤Æ
¥Õ¥©¡¼¥à(debug 'debug)
¤òÁÞÆþ¤¹¤ë¤³¤È¤Ç¤³¤ì¤ò¹Ô¤¦¡£
Lisp¥³¡¼¥É¤ÇÄêµÁ¤·¤¿Ç¤°Õ¤Î´Ø¿ô¤Ï¡¢ ²ò¼á¼Â¹Ô¥³¡¼¥É¤Ç¤¢¤í¤¦¤È¥³¥ó¥Ñ¥¤¥ëºÑ¤ß¤Î¥³¡¼¥É¤Ç¤¢¤í¤¦¤È¡¢ ´Ø¿ô¤ËÆþ¤ë¤È¤¤Ë¥Ö¥ì¡¼¥¯¤¹¤ë¤è¤¦¤Ë¤Ç¤¤ë¡£ ´Ø¿ô¤¬¥³¥Þ¥ó¥É¤Ç¤¢¤ë¤È¡¢Lisp¤«¤é¸Æ¤Ð¤ì¤¿¤È¤¤ä ÂÐÏÃŪ¤Ë¸Æ¤Ð¤ì¤¿¤È¤¤Ë¡Ê°ú¿ô¤òÆÉ¤ß¼è¤Ã¤Æ¤«¤é¡Ë¥Ç¥Ð¥Ã¥¬¤ËÆþ¤ë¡£ ¡ÊC¤Ç½ñ¤¤¤¿¡Ë´ðËÜ´Ø¿ô¤Ï¡¢¤³¤ÎÊýË¡¤Ç¤Ï¥Ç¥Ð¥Ã¥°¤Ç¤¤Ê¤¤¡£
debug-on-entry
¤òÂÐÏÃŪ¤Ë¸Æ¤Ó½Ð¤¹¤È¡¢
¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Çfunction-name¤òÌ䤤¹ç¤ï¤»¤ë¡£
¤½¤Î´Ø¿ô¤¬¤¹¤Ç¤Ë¸Æ¤Ó½Ð¤·»þ¤Ë¥Ç¥Ð¥Ã¥¬¤òµ¯Æ°¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¡¢
debug-on-entry
¤Ï¤Ê¤Ë¤â¤·¤Ê¤¤¡£
debug-on-entry
¤Ï¤Ä¤Í¤Ëfunction-name¤òÊÖ¤¹¡£
Ãí°Õ¡§
debug-on-entry
¤ò»È¤Ã¤¿¤¢¤È¤ËÅö³º´Ø¿ô¤òºÆÄêµÁ¤¹¤ë¤È¡¢
¥Ç¥Ð¥Ã¥¬¤ËÆþ¤ë¤¿¤á¤Î¥³¡¼¥É¤¬¤Ê¤¯¤Ê¤ë¡£
¼Â¼ÁŪ¤Ë¤Ï¡¢´Ø¿ô¤òºÆÄêµÁ¤¹¤ë¤È¸Æ¤Ó½Ð¤·»þ¤Ë¥Ö¥ì¡¼¥¯¤¹¤ëµ¡Ç½¤ò
¼è¤ê¾Ã¤¹¤³¤È¤Ë¤Ê¤ë¡£
(defun fact (n) (if (zerop n) 1 (* n (fact (1- n))))) ⇒ fact
(debug-on-entry 'fact) ⇒ fact
(fact 3)
------ Buffer: *Backtrace* ------ Entering: * fact(3) eval-region(4870 4878 t) byte-code("...") eval-last-sexp(nil) (let ...) eval-insert-last-sexp(nil) * call-interactively(eval-insert-last-sexp) ------ Buffer: *Backtrace* ------
(symbol-function 'fact) ⇒ (lambda (n) (debug (quote debug)) (if (zerop n) 1 (* n (fact (1- n)))))
¤³¤Î´Ø¿ô¤Ï¡¢function-name¤ËÂФ¹¤ëdebug-on-entry
¤Î¸ú²Ì
¡Ê¸Æ¤Ó½Ð¤·»þ¤Ë¥Ö¥ì¡¼¥¯¤¹¤ë¡Ë¤ò¼è¤ê¾Ã¤¹¡£
ÂÐÏÃŪ¤Ë¸Æ¤Ó½Ð¤¹¤È¡¢
¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Çfunction-name¤òÌ䤤¹ç¤ï¤»¤ë¡£
function-name¤¬nil
¤Ç¤¢¤Ã¤¿¤ê¶õʸ»úÎó¤Ç¤¢¤ë¤È¡¢
¤¹¤Ù¤Æ¤Î´Ø¿ô¤Ë¤Ä¤¤¤Æ¡¢¸Æ¤Ó½Ð¤·»þ¤Ë¥Ö¥ì¡¼¥¯¤¹¤ë¤³¤È¤ò¼è¤ê¾Ã¤¹¡£
¸Æ¤Ó½Ð¤·»þ¤Ë¥Ö¥ì¡¼¥¯¤¹¤ëÀßÄê¤ò¤·¤Æ¤¤¤Ê¤¤´Ø¿ô¤ËÂФ·¤Æ
cancel-debug-on-entry
¤ò¸Æ¤Ó½Ð¤·¤Æ¤â¤Ê¤Ë¤â¤·¤Ê¤¤¡£
¤Ä¤Í¤Ëfunction-name¤òÊÖ¤¹¡£