使用gdbserver进行远程调试

使用gdbserver进行远程调试

我在目标上运行 gdbserver 时遇到了 2 天的麻烦。如果有人能指出正确的方向,我将不胜感激。

这是场景:

  • 我有一个使用 gdbserver 运行 GNU/Linux x86_64 但没有 g++/gcc 编译器的 Targethost
  • 我有一个运行 Windows 10 和带有 gdb 的 Visual Studio 的本地主机
  • 我可以在目标和本地主机之间进行 ssh 访问

问题:

a) 在 Targethost 上,当我运行命令“gdbserver localhost:port file.cpp”时,它给出“Exec format error”。但是当我运行“gdbserver localhost:port file.so”时,它开始监听。 gdpserver 是否始终需要二进制/可执行文件?

b) 我想编写一个Linux支持的“.so”二进制文件;是否正在寻求使用 Visual Studio 交叉编译到 Linux 主机(未安装 g++/gcc 编译器)的正确方法?还是买一台安装了 gcc/g++ 的 Linux 虚拟机更好?

任何建议将不胜感激。

问候, 安莫尔

相关内容