Joh*_*ely 5 debugging trace common-lisp
在 Common Lisp 中,函数(跟踪名称)可用于查看有关函数调用的输出。
如果我的函数是用局部作用域声明的,我如何描述它以进行跟踪?
例如,如何跟踪栏,如下:
(defun foo (x) (labels ((bar (y) (format t "bar: ~a~&" y))) (bar x)))
Rai*_*wig 2
跟踪局部函数(TRACE ...)ANSI Common Lisp 没有定义
(TRACE ...)
一些实现有扩展来做到这一点。参见CMU CL示例。
除此之外,您还需要在 FOO 的定义中添加一些代码。例如,拥有一个宏可能很有用,这样您就可以将对 bar 的调用编写为 (trace-it (bar x)),并且该宏将扩展为打印进入和退出的代码。
归档时间:
17 年,2 月 前
查看次数:
1206 次
最近记录:
10 年,11 月 前