linux - 在 Eclipse CDT 中为远程调试启动部署文件的正确方法是什么?

标签 linux shared-libraries eclipse-cdt remote-debugging gdbserver

我的情况:我目前正在尝试使用 Eclipse CDT 作为专有 IDE 的替代品。我有一个企业应用程序,它由一个可执行文件和大量(30 多个)共享库模块组成。该应用程序针对嵌入式非 x86 平台,具有 POSIX 兼容操作系统(QNX 或 GNU/Linux,取决于所选工具链)。因此,无法在开发人员的机器上进行调试。它必须远程完成。

我使用的是 Eclipse Luna/CDT 8.5,安装了 Remote System Explorer 插件和 GDB/DSF Create Process Launcher。通过这些插件,Eclipse 可以远程启动程序并使用 gdbserver 对其进行调试。但是只有主可执行文件可以配置为上传。

我想知道通过 Eclipse 为远程调试启动部署文件的合适方法是什么?

我目前的选择是:

  1. 使用远程系统资源管理器透视图,将某个远程文件夹“导入”为工作区中的“远程项目”。设置 Makefile 以在构建后将 .so 文件复制到映射的文件夹中。构建完成后,手动刷新“远程项目”。然后,文件将上传到远程系统。
  2. 使用远程系统资源管理器透视图,将工作区中的二进制文件“导出”到远程文件系统,以便在远程启动时上传文件。此方法还要求我在开始调试 session 之前“刷新”所有项目,否则更改不会被注意到。
  3. 完全不使用 Eclipse 进行文件上传,而是手动或通过构建脚本部署它们。
  4. 不畏艰难,为 Eclipse СDT 贡献一些代码。

有没有更好的解决方案?

最佳答案

如何在远程应用程序调试启动中使用“命令在应用程序之前执行”字段。

在此主机系统上托管一个 FTP 服务器,并在目标上安装一个 FTP 客户端。现在在“Command to execute before application”中写一个命令,通过 FTP 将文件从主机复制到目标。由于此命令在应用程序二进制文件之前执行,因此您可以在应用程序启动之前将文件放在目标上。 另一种选择是您使用 SSH 而不是 FTP,但这需要在您的主机上创建一个不要求身份验证的帐户,因为您将无法使用“命令在应用程序之前执行”来提供身份验证。

关于linux - 在 Eclipse CDT 中为远程调试启动部署文件的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27982763/

相关文章:

customization - 为 Eclipse CDT 定制包含保护

linux - 列出 ld 链接器可用的所有符号

C 将标准输出重定向到几个地方

c++ - 使用 iptables 共享来自两个不同连接的 Internet 连接

c++ - 与客户端函数链接错误的共享库

c++ - 如何让 Eclipse CDT 忽略文件

linux - 在 C 的 linux 下查找 ELF 共享库的最佳方法是什么

c++ - 警告 : cannot find entry symbol _start - while compiling to . 所以

c++ - 在自定义库位置的情况下使用 dlopen 加载依赖库

c++ - Eclipse CDT 代码完成问题