首页 文章

在ssh上使用gdb时,我可以使emacs正确加载源文件吗?

提问于
浏览
4

我想使用emacs通过ssh远程运行gdb,然后从远程gdb运行目标远程调试服务器 . 我真的想从emacs中运行gdb,但x-forwarding emacs有太多的延迟,所以我在我的mac上本地运行aquamacs . 我使用命令行 ssh work-host /path/to/my/gdb 运行M-x gdb,然后从gdb提示符中我可以定位远程调试目标 .

这一切都很好,但是当我尝试逐步浏览文件时,没有任何来源加载 . 我假设emacs在ssh gdb返回的远程路径上感到困惑 . 有没有办法修复路径或至少手动将文件路径映射到调试路径?

2 回答

  • 1

    这对我有用(Emacs 23在Linux和GDB 7.0.1下;我不明白为什么这不适用于OSX,甚至可能在Windows上有点刺激):

    M-x gdb --annotate=3 /remote.example.com:a.out
    

    然后在 (gdb) 提示符 start 打开 /remote.example.com:a.c .

    在_1475056中有一些简短的提及 .

  • 1

    x-forwarding emacs有太多的延迟

    所以不要 . 最简单的解决方案可能是ssh到work-host,然后在那里运行 emacs -nw . 或者,

    ssh work-host / path / to / my / gdb

    你不想 ssh work-host /path/to/my/gdb --annotate=3 /path/to/exe 吗?

    您可以使用 dir 命令告诉 gdb 在哪里查找源代码,但我认为您最初的问题可能是 gdb 根本没有告诉 emacs 有关源(或者您没有告诉我们整个故事) .

相关问题