【问题标题】:What is the right way to deploy files for a remote debug launch in Eclipse CDT?在 Eclipse CDT 中为远程调试启动部署文件的正确方法是什么?
【发布时间】:2015-03-14 23:41:39
【问题描述】:

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

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

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

我目前的选择是:

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

有没有更好的解决方案?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 是的,DSF 启动器通过可用的 SSH/SFTP 工作。该插件只是不提供我需要的功能
      猜你喜欢
      • 2018-02-25
      • 2012-10-08
      • 2023-03-13
      • 2011-07-26
      • 1970-01-01
      • 2011-06-21
      • 1970-01-01
      • 2015-02-18
      • 2019-08-06
      相关资源
      最近更新 更多