【问题标题】:How to remotely debug graphic application with QtCreator?如何使用 QtCreator 远程调试图形应用程序?
【发布时间】:2018-05-29 23:59:06
【问题描述】:

我开发了一个跨平台的 Qt 应用程序。现在我需要/想要通过 GUI 表单加载在远程主机上运行它。
我知道两种方法:

  • 在远程显示器(可能是虚拟的)上打开应用程序,控制台通过ssh 连接到 QtCreator
  • 使用远程 X 会话运行,就像使用 ssh -X-Y 一样。

当我通过远程设备上的 QtCreator 运行应用程序时,它会显示

QXcbConnection: Could not connect to display

当我使用ssh -Y 连接到远程主机并运行我的应用程序时,它会说

QXcbConnection: Could not connect to display localhost:10.0
Aborted

在我的本地主机和通过 VNC 的远程主机上,应用程序运行良好。

ssh -Y user@host xclock 也可以正常工作 - 在我的本地显示器上打开它的表单。

主机系统是Ubuntu 16.04 LTS x64,目标系统是Ubuntu 16.04 LTS x86 32bit。 Qt 版本 5.9.1

请帮助我使它工作。在最坏的情况下,我同意看到调试控制台和gdb 附加到 QtCreator,但 GUI 仍然可以放置在远程显示器上。


更新: 这是form.qt.io上的相关问题。

【问题讨论】:

    标签: c++ qt ssh qt-creator


    【解决方案1】:

    经过 QtCreator 社区的一些研究和帮助后,我发现
    方法很简单:

    1. 打开与启用 X 转发的远程主机的 ssh 会话ssh -X user@host。并了解DISPLAY 变量。例如echo $DISPLAY。它应该看起来像 localhost:10.0
    2. 在 QtCreator -> Projects -> YourConfiguration -> Run -> RunEnvironment 中将环境变量 DISPLAY 设置为 (1) 中的已知值。
    3. 在本地计算机上使用 GUI 运行并享受远程调试。

    注意:关闭 ssh 会话将使转发的显示无法访问且无效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-18
      • 2013-11-17
      • 2016-04-23
      • 2014-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多