可以使用不同目录中的本地源文件,而我在emacs中通过ssh使用gdb



我有一个32位的桌面,我的emacs副本正在那里运行。

我希望能够调试在精简版qemu 64位虚拟机上运行的程序。

虚拟机有一个ssh端口24054,可以让我无密码地访问根目录,而且它确实安装了gdb。

它有我的桌面调用的目录~/mco/chip_test安装为/9p

因此,如果我在~/mco/chip_test中创建一个hello.c文件,然后转到VM将在其中运行的64位计算机,并使用进行编译

$gcc-o你好-g你好.c

然后启动虚拟机,在我的32位桌面上运行

ssh-24054美元root@anvil'cd/9p&gdb/你好,

然后gdb在我桌面上的一个窗口中以命令行模式完美运行。

所以现在我当然希望它在emacs下运行,因为命令行gdb有点难以读取,我希望看到我的光标在文件中移动,并有带有监视变量等的窗口

所以我尝试了M-x gdb运行gdb(如下(:ssh-p 24054root@anvilcd/9p&gdb-注释=3/你好

我在emacs中打开了一个调试器窗口,一切看起来都很好,事实上,我甚至可以通过单击本地emacs中~/meco/chip_test/hello.c文件的边缘来设置和删除断点,该文件与gdb所看到的/9p/hello.c文件相同,但移动的光标不会出现或四处移动,所以整个过程相当无用。

因此,我认为emacs/Gud没有完全意识到~/myco/chip_test/hello.c是调试器认为是/9p/hello.c的文件,尽管显然发生了一些有趣的事情,因为我可以设置断点,所以我想知道是否有办法让一个或另一个程序在循环中翻译文件名,以便一切正常。

有什么想法吗?还是我只是做错了?

如果你选择,你会得到更好的结果

  • 在中的/home/<user>/myco/chip_test上安装/home/<user>/myco/chip_testVM(因此源路径完全匹配(,或者
  • 在VM中运行gdbserver,并将本地GDB连接到它

相关内容

  • 没有找到相关文章

最新更新