跟踪会导致锁定警告,原因



我想用trace来分析我的代码的执行,因此我输入

(trace oddp)

进入 REPL。与我的预期相反,我收到了一条错误消息,告诉我:

** - Continuable Error
TRACE(ODDP): #<PACKAGE COMMON-LISP> is locked
If you continue (by typing 'continue'): Ignore the lock and proceed

这到底是什么意思,为什么会发生这种情况,忽略锁是否安全?

TRACE的工作原理是将函数重新定义为打印跟踪消息然后调用原始函数的内容。但是通常不允许重新定义内置函数,因此会出现此错误。

相关内容

最新更新