GDB远程调试缓存远程目标。

6
我使用CLion连接到远程机器上运行的远程(通过ssh端口转发)。这个工具非常好用,除了一件事:每次我连接到时它都会下载所有链接的依赖项。 如下图所示: enter image description here 所以,我无法确定是否有标志可以在中传递来缓存这些文件。
2个回答

2

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

您可以手动复制所有所需文件,然后使用set sysroot。但是,这有点容易出错,因为您必须记得在任何更改时进行同步。

另一个想法是设置某种缓存远程文件系统。(但我不知道是否存在已经做好的这样的文件系统)。


2

如果您的问题不是缓存库,而是加速GDB启动过程,那么您可以将solib-absolute-prefix设置为主机上包含所有共享库的位置。 如果您在主机上使用nfs挂载环境来针对目标进行设置。您可以使用solib-absolute-prefix将共享库的路径设置为您的nfs主机位置,以便每次启动会话时不必通过网络检索它们。


是的,我正在使用sshfs作为挂载目录。所以您建议将set sysroot(set solib-absolute-prefix命令是set sysroot的别名)设置为挂载文件夹,以加快通过nfs / sshfs缓存过程的速度,对吗?或者为什么我不每次都检索它? - Ivan Talalaev
我只是在说,从主机而不是目标加载库应该更快,并且通过使用nfs文件夹,您可以消除潜在的同步问题,正如Tom Tromey所强调的那样,因为您的主机和目标正在使用相同的位置来加载库。 - Guillaume.P
sshfs与transform_symlinks确实可以解决问题。谢谢! - Ivan Talalaev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接