2

我在集群的计算节点上有代码。我不能直接 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?

4

1 回答 1

2

试试 Mx gud-gdb RET:它会给你旧的 Emacs-22 行为。

于 2012-02-23T04:21:41.853 回答