有没有一种方法可以将C++源代码编译成二进制文件,以便gdb可以看到它



假设我有一台构建机器和测试机器,并且源代码只在构建机器上。(Linux)

我有一个调试构建的C/C++可执行文件,我想在测试机上用gdb运行它。

在测试机器上运行的调试器中,它仍然在寻找不存在的实际源文件。

有没有一种方法可以让g++将源代码与其他调试信息一起实际包含在可执行文件中,这样就不需要文件了?

没有办法将源代码编译成二进制文件来允许以这种方式调试gdb。

在这种情况下,最好的机制可能是使用gdbserver,它允许您远程运行应用程序并在构建机器上调试它。

如果不能使用远程调试,那么另一种方法是在测试机器上装载包含源的目录,然后使用set substitute-path映射测试机器与构建机器的目录。

没有,但好消息是没有必要。您应该设置源路径。它应该接受网络路径。

相关内容

最新更新