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



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

我正在使用带有远程系统资源管理器插件和GDB/DSF Create Process Launcher的Eclipse Luna/CDT 8.5。通过这些插件,Eclipse可以远程启动程序并使用gdbserver对其进行调试。但只能配置主可执行文件进行上传。

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

我目前的选择是:

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

有没有更好的解决方案?

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

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

系统有 SSH 吗?SSH 非常适合将文件发送到远程计算机。这可能有点多,但如果你真的需要,你可以为此任务创建一个自定义的 eclipse 插件。

最新更新