emacs+slime+sbcl 单步调试

来源:互联网 发布:mac禁用了flash 编辑:程序博客网 时间:2024/05/12 09:35
(defun next (x y) (/ (+ x y) 2))(defun square (x) (* x x))(defun sqrt-r(a b x)  (declare (optimize            (debug 3)            (speed 0)            (space 0)            (compilation-speed 0)            (safety 3)))  (format t "~A ~A ~A~%" a b x)  (let ((nex (next a b)))    (new-if (< (- b a) 0.00001)             nex             (if (> (square nex) x)                 (sqrt-r a nex x)                 (sqrt-r nex b x)))))(defun new-if (predicate then-clause else-clause)  (cond (predicate then-clause)        (t else-clause)))(step (sqrt-r 1.0 2.0 2.0))


    这段程序会无限循环。要单步调试,需要加入下面这段程序,才能进入单步调试。

(declare (optimize            (debug 3)            (speed 0)            (space 0)            (compilation-speed 0)            (safety 3)))
在emacs中,输入C-x e,然后s是单步调试,v是查看程序运行到的源程序部分。其他命令C-h m就行了。

原创粉丝点击