假设我有一台构建机器和测试机器,并且源代码只在构建机器上。(Linux)
我有一个调试构建的C/C++可执行文件,我想在测试机上用gdb运行它。
在测试机器上运行的调试器中,它仍然在寻找不存在的实际源文件。
有没有一种方法可以让g++将源代码与其他调试信息一起实际包含在可执行文件中,这样就不需要文件了?
没有办法将源代码编译成二进制文件来允许以这种方式调试gdb。
在这种情况下,最好的机制可能是使用gdbserver,它允许您远程运行应用程序并在构建机器上调试它。
如果不能使用远程调试,那么另一种方法是在测试机器上装载包含源的目录,然后使用set substitute-path
映射测试机器与构建机器的目录。
没有,但好消息是没有必要。您应该设置源路径。它应该接受网络路径。