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