我在集群的计算节点上有代码。我不能直接 ssh 到计算节点,所以我首先设置了一个 ssh 隧道
ssh -f cluster.master.node -L 2222:cluster.compute.node:22 -N.
接下来我访问文件
C-x C-f/ssh:user@localhost#2222/path/to/blah.c。
最后我做
M-x数据库。
在emacs 23中我会做
运行 gdb(像这样) gdb --annotate=3/ssh:localhost#2222:/path/to/program
但 emacs 24 中 gdb 函数的文档说“命令行选项应包括 -i=mi 以使用 gdb 的 MI 文本界面。请注意,不再支持旧的“--annotate”选项。”
跑步
gdb(像这样) gdb --i=mi /ssh:loalhost#2222:/path/to/program
似乎可以工作,但是当我尝试运行程序时,我得到“正在启动程序:/misc/home/joey/git/proteus/proteus /dev/pts/5:没有这样的文件或目录。” 问题似乎在于可执行文件路径前面不存在的 /misc/ 目录。即使我对 /home/joey/git/proteus/ 进行 cd 操作,响应也是“工作目录 /home/joey/git/proteus(通常是 /misc/home/joey/git/proteus)”。
我可以在 Emacs 24 中远程调试我的程序还是应该回到 23?