远程调试emacs 24和gdb

时间:2012-02-22 22:52:31

标签: emacs gdb tramp

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

在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时,响应是“Working directory / home / joey / git / proteus(canonically / misc / home / joey / git / proteus)。”

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

1 个答案:

答案 0 :(得分:2)

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