在ABCL中,如何在不杀死LISP的情况下从失控的函数中中断?

在ABCL中,如何在不杀死LISP的情况下从失控的函数中中断?,lisp,common-lisp,break,control-c,abcl,Lisp,Common Lisp,Break,Control C,Abcl,在ABCL中,在开发过程中,我有时会得到失控的函数。我希望能够停止执行并返回到顶级LISP,而不会终止LISP/JVM进程(在emacs shell中)和丢失当前的LISP环境 我尝试过各种控制键(例如control-C、control-D等等),但充其量只能杀死LISP或JVM ;;; 如何停止此函数并返回LISP interactive ;;; 没有杀死lisp。。。? (德芬逃跑) (让((结果为零)) (点时间(计数10结果) (睡眠2) (打印计数) 是否取消批处理作业(是/否)?N

在ABCL中,在开发过程中,我有时会得到失控的函数。我希望能够停止执行并返回到顶级LISP,而不会终止LISP/JVM进程(在emacs shell中)和丢失当前的LISP环境

我尝试过各种控制键(例如control-C、control-D等等),但充其量只能杀死LISP或JVM


;;; 如何停止此函数并返回LISP interactive
;;; 没有杀死lisp。。。?
(德芬逃跑)
(让((结果为零))
(点时间(计数10结果)
(睡眠2)
(打印计数)

是否取消批处理作业(是/否)?N n

进程lisp异常退出,代码为130

尝试将Emacs与Slime一起使用,因为Slime不会终止进程,但会中断线程并在按C-C-C时进入调试器

您可能应该在路径中的某个位置添加一个可执行脚本,如下所示:

#!/bin/sh
exec java -jar .../abcl/abcl-bin-1.5.0/abcl.jar
您必须用自己的
abcl.jar
路径替换
..

然后,从Emacs开始,您应该能够启动它


执行C-u M-x slime以强制
slime
命令提示输入可执行文件,并向其提供
abcl.sh
。它应该启动进程并使用Slime协议连接到它。

尝试将Emacs与Slime一起使用,因为Slime不会终止进程,但会中断线程并在按C-C-C时进入调试器

您可能应该在路径中的某个位置添加一个可执行脚本,如下所示:

#!/bin/sh
exec java -jar .../abcl/abcl-bin-1.5.0/abcl.jar
您必须用自己的
abcl.jar
路径替换
..

然后,从Emacs开始,您应该能够启动它


执行C-u M-x slime以强制
slime
命令提示输入可执行文件,并向其提供
abcl.sh
。它应该启动这个过程,并使用Slime协议连接到它。

NB:我刚才看到了你的问题,因为我很少看abcl标签;如果你也添加了“common lisp”标签(或lisp),你会有更好的曝光率。注意:我刚才看到了你的问题,因为我很少看abcl标签;如果您也添加了“common lisp”标记(或lisp),您的曝光效果会更好