2017-10-06 81 views
1

我使用CLion为了连接远程机器上的远程gdbserver(通过ssh端口转发)。gdb远程调试缓存远程目标

I'T工作得很好,除了一两件事,它的下载每一次我连接到gdbserver所有链接的依赖

enter image description here

所以,我查不出有任何传递国旗在gdb remote缓存这样的文件。

回答

1

如果你的问题没有缓存库,但实际上加快了GDB启动过程,你可以设置solib-absolute-prefix到你的位置包含所有共享库的主机。 如果您在主机上为目标使用nfs加载的环境。您可以使用solib-absolute前缀将共享库的路径设置为您的nfs主机位置,这样您每次启动会话时都不会通过网络检索它们。

+0

是的我正在使用sshfs作为挂载目录。所以你建议'set sysroot'(set solib-absolute-prefix命令是set sysroot的别名)加载到安装的文件夹,以便通过nfs/sshfs缓存进程加速,对吧?或为什么我不检索每一次? –

+0

我只是说,从主机而不是目标加载库应该更快,并且通过使用nfs文件夹,您可以摆脱Tom Tromey强调的潜在同步问题,因为您的主机和目标使用相同的位置来加载库。 –

+0

带有'transform_symlinks'的sshfs绝对有诀窍。谢谢! –

1

有没有内置的方式来做到这一点。

你可以通过手工复制所有需要的文件一次,然后使用set sysroot。但是,这有点容易出错,因为您必须记得随时随地进行同步更改。

另一个想法是设置某种缓存远程文件系统。 (但我不知道是否存在这样一个罐头的问题。)