远程调试emacs 24和gdb

远程调试emacs 24和gdb,emacs,gdb,tramp,Emacs,Gdb,Tramp,我在集群的计算节点上有代码。我无法直接使用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 gdb 在Emacs23中,我会这样做 运行gdb(像这样)gdb--annotate=3/ssh:localhost#2222:/path/to/program

我在集群的计算节点上有代码。我无法直接使用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 gdb

在Emacs23中,我会这样做

运行gdb(像这样)gdb--annotate=3/ssh:localhost#2222:/path/to/program

但是emacs24中gdb函数的文档中说“命令行 选项应包括-i=mi以使用gdb的mi文本界面。请注意,旧的“-annotate”选项不再受支持

运行

gdb(像这样)gdb--i=mi/ssh:loalhost#2222:/path/to/program

似乎可以运行,但当我尝试运行该程序时,我得到了“Starting program:/misc/home/joey/git/proteus/proteus/dev/pts/5:没有这样的文件或目录”。问题似乎是在可执行文件路径前面不存在的/misc/目录。甚至当我将cd发送到/home/joey/git/proteus/时,响应也是“工作目录/home/joey/git/proteus(canonically/misc/home/joey/git/proteus)”


我可以在Emacs 24中远程调试我的程序吗?还是应该返回到Emacs 23?

试试M-x gud gdb RET:它将提供旧的Emacs-22行为