如何使用 QtCreator 远程调试图形应用程序?
How to remotely debug graphic application with QtCreator?
我开发了一个跨平台的 Qt 应用程序。现在我 need/want 到 运行 它在远程主机上加载 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 32 位。 Qt 版本 5.9.1
请帮助我让它工作。在最坏的情况下,我同意在 QtCreator 中看到调试控制台并 gdb
附加到 QtCreator,但 GUI 仍然可以放在远程显示器上。
更新:
这是关于 form.qt.io.
的相关问题
经过 QtCreator 社区的一些研究和帮助,我发现
方法很简单:
- 在启用 X 转发的情况下打开与远程主机的 ssh 会话
ssh -X user@host
。并了解 DISPLAY
变量。例如 echo $DISPLAY
。它应该看起来像 localhost:10.0
.
- 在 QtCreator -> Projects -> YourConfiguration -> 运行 -> 运行Environment 中将环境变量
DISPLAY
设置为已知值(1).
- 运行 和 享受 在本地计算机上使用 GUI 进行远程调试。
注意:关闭 ssh 会话将使转发显示无法访问和无效。
我开发了一个跨平台的 Qt 应用程序。现在我 need/want 到 运行 它在远程主机上加载 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 32 位。 Qt 版本 5.9.1
请帮助我让它工作。在最坏的情况下,我同意在 QtCreator 中看到调试控制台并 gdb
附加到 QtCreator,但 GUI 仍然可以放在远程显示器上。
更新: 这是关于 form.qt.io.
的相关问题经过 QtCreator 社区的一些研究和帮助,我发现
方法很简单:
- 在启用 X 转发的情况下打开与远程主机的 ssh 会话
ssh -X user@host
。并了解DISPLAY
变量。例如echo $DISPLAY
。它应该看起来像localhost:10.0
. - 在 QtCreator -> Projects -> YourConfiguration -> 运行 -> 运行Environment 中将环境变量
DISPLAY
设置为已知值(1). - 运行 和 享受 在本地计算机上使用 GUI 进行远程调试。
注意:关闭 ssh 会话将使转发显示无法访问和无效。