Lisp 连接到远程swank:can';t定位模块swank io包::swank跟踪对话框

Lisp 连接到远程swank:can';t定位模块swank io包::swank跟踪对话框,lisp,common-lisp,slime,swank,Lisp,Common Lisp,Slime,Swank,所以,我使用 sbcl——动态空间大小1024\ --黑信息\ --加载$HOME/quicklisp/setup.lisp\ --eval'(ql:quickload:myapp)'\ --eval“(sb ext:save lisp and die\'myapp\”:顶级#'myapp::main:executable t:compression t)” 在本地生成myapp,并将生成的二进制文件上载到服务器 函数myapp:main执行以下操作(以及服务器的其他一些初始化操作): (BT

所以,我使用

sbcl——动态空间大小1024\
--黑信息\
--加载$HOME/quicklisp/setup.lisp\
--eval'(ql:quickload:myapp)'\
--eval“(sb ext:save lisp and die\'myapp\”:顶级#'myapp::main:executable t:compression t)”
在本地生成
myapp
,并将生成的二进制文件上载到服务器

函数
myapp:main
执行以下操作(以及服务器的其他一些初始化操作):

<代码>(BT:制作线程(lambda)(SWANK:创建服务器:端口SWANK端口;考虑它是8080) :不要关闭(t) 我还在本地计算机上进行端口转发:

ssh-L8080:127.0.0.1:8080user@remote
当本地机器上运行
myapp
时,我可以
slime连接到它,我可以从同一台机器连接到它


但是,当我在本地计算机上尝试将
myapp
运行到
localhost
8080
时,在远程计算机上运行
myapp
时,我得到的错误是

Can't locate module: SWANK-IO-PACKAGE::SWANK-TRACE-DIALOG
   [Condition of type SIMPLE-ERROR]

Restarts:
 0: [*ABORT] Return to SLIME's top level.
 1: [ABORT] abort thread (#<THREAD "worker" RUNNING {1005B6EB73}>)
找不到模块:SWANK-IO-PACKAGE::SWANK-TRACE-DIALOG
[简单错误类型的条件]
重新启动:
0:[*中止]返回SLIME的顶层。
1:[中止]中止线程(#)
  • 如果我选择
    [*ABORT]
    ,emacs会在进程筛选器中给我
    错误:标记slime-result-2-212没有捕获,(错误“Synchronous Lisp Evaluation aborted”)
    (在微缓冲区中),没有slime REPL

  • 选择
    [ABORT]
    也会在进程筛选器中出现几乎相同的
    错误:同步Lisp求值已中止

  • 另外,如果我也尝试计算帧中的某个内容,我会在进程筛选器中得到
    错误:无效消息协议


    注:我正在使用AWS,以防安全组的详细信息相关。

    myapp系统是否依赖于swank?如果您的版本不同,在一台机器上编译并在另一台机器上执行可能会有风险。您能在服务器上运行“quickload”吗?很抱歉没有提及。是的,
    :swank
    包含在
    asd
    文件中。是的,版本也一样。虽然从技术上讲,我可以在服务器上设置一个环境,但我想尝试不用它。否,尚未在远程上设置quickload(或任何lisp)。此外,还找到了一个解决方案:在转储core之前运行
    (swank loader:init:load contribs t)
    。我不知道这样做是否一直如此。在紧急情况以外的情况下,是否有粘液连接的使用案例?(这将是我第一次在服务器上安装东西,因此我缺乏经验来评论这个工具的功能有多强大/有用。)