lisp - SB-内核 :TWO-ARG - what does this mean when used in debugger backtrace?

标签 lisp common-lisp sbcl

我(新手)正在调试我的 Lisp 代码(Common Lisp、Steel Bank、SLIME)。

我的回溯中的第一帧是:

0: (SB-KERNEL:TWO-ARG-> 1 NIL)

我的问题是:

  • “SB-KERNEL:TWO-ARG”到底是什么意思/检查/做什么?
  • 我自己应该在哪里在线查找? (我尝试搜索它,但除了在其他 Backtrace 输出中找不到对它的任何引用)。

最佳答案

您可以在帧上使用“v”来跳转到调试器中函数的定义。

在这种情况下,函数 sb-kernel:two-arg-> 听起来像是 > 的特殊版本,它在恰好提供两个参数时被调用。如果参数为 1 和 NIL,您将收到错误消息,因为 NIL 不是数字。

除了通过练习和提问之外,我不确定您自己是如何弄清楚的。

关于lisp - SB-内核 :TWO-ARG - what does this mean when used in debugger backtrace?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4640528/

相关文章:

lisp 交换列表元素

syntax-error - sbcl 非法函数调用

mysql - SBCL 中的 clsql 问题

lisp - sbcl:defmacro 中的马弗风格警告

lisp - 如何运行为 Digitool 4.3 (2003) 编写的算法?

lisp - CLISP 中忽略了 DYNAMIC-EXTENT?

lisp - 使用 SETF 函数扩展 SETF 是如何工作的?

lisp - 内存中的类有多大?

go - 在 Go 中解析 s 表达式

installation - 如何使用Portacle IDE在Common Lisp中实现Common Music?