明经通道 AutoLISP 函数  
trace
 

调试 AutoLISP 程序时的辅助函数

(trace [function...])

trace 函数为指定的函数设置跟踪标志。每当对指定函数进行求值时,会显示一条跟踪信息表示流程进入该函数(信息按调用深度的不同进行缩排)。此外,还会打印出该函数的执行结果。

如果 Visual LISP 处于激活状态,跟踪输出将被发送到 Visual LISP Trace 窗口。如果 Visual LISP 不处于激活状态,跟踪输出发送到 AutoCAD 命令窗口。

注意 在 AutoCAD 任务中一旦启动 Visual LISP,它在退出 AutoCAD 之前就会一直保持活动状态。因此,Visual LISP Trace 窗口将打印本次任务中所有的 trace 输出。在 AutoCAD 运行时关闭 Visual LISP 只是关闭了 IDE 窗口,将 Visual LISP 置于静止状态,而不是真正的关闭。要查看 Trace 窗口中的输出,必须再次打开 Visual LISP。

使用 untrace 关闭跟踪标志。

参数

function

用于命名函数的符号。如果未指定参数,trace 无效。

返回值

最后一个传递给 trace 的函数名。如果未提供参数,trace 返回 nil。

示例

定义名为 foo: 的函数并设置函数的跟踪标志:

命令: (defun foo (x) (if (> x 0) (foo (1- x))))

FOO

命令: (trace foo)

FOO

调用 foo,观察结果:

命令: (foo 3)

输入 (FOO 3)

输入 (FOO 2)

输入 (FOO 1)

输入 (FOO 0)

结果: nil

结果: nil

结果: nil

结果: nil

调用 untrace 清除跟踪标志:

命令: (untrace foo)

FOO

参阅

untrace 函数。

明经通道 版权所有 未经许可 不得传播

 评论