QtCreator:是不是可以调试远程 GUI 应用程序? (广发银行)

Posted

技术标签:

【中文标题】QtCreator:是不是可以调试远程 GUI 应用程序? (广发银行)【英文标题】:QtCreator: is it possible to debug remote GUI app? (GDB)QtCreator:是否可以调试远程 GUI 应用程序? (广发银行) 【发布时间】:2017-07-10 20:20:39 【问题描述】:
    宿主和目标都是 ubuntu 16.04 GDB 正在使用中 ssh 工作正常并启用 X11 转发 - 使用 GUI 启动构建的应用程序 qtcreator 中的远程 linux 配置也已创建并成功用于控制台应用程序。 ~/.ssh/config 包含 X11Forward true

问题 - 应用程序失败并出现错误 "no display found" 。似乎 qtcreator 不使用标准配置的系统 ssh 。 另一方面,我在 qtcreator 中找不到启用 X11 应用程序的选项

有人在qtcreattor下有过远程GUI调试的经验吗?

有可能吗?

【问题讨论】:

【参考方案1】:

QtCreator 似乎确实使用了集成的 SSH 实现,并且不允许您自定义其选项。 除此之外,您可以解决该问题。为此,请执行以下操作:

    使用激活了 -X 选项的真实 SSH 记录到要调试的主机。您必须在整个测试过程中保持此连接处于打开状态。

    使用例如env |grep DISPLAY找出在此会话中导出的显示

    在 QtCreator 上,使用 QtCreator 左侧面板上的“项目”图标打开项目属性。

    在您的套件“运行”选项中,进入“运行环境”下,单击“详细信息”,这将打开一个列表,然后添加变量“显示”,其值等于步骤 2 中显示的值

    现在运行您的应用程序。您的图形部分现在应该可以正确显示,因为它将使用另一个会话转发通道。

【讨论】:

实际上,我现在无法检查这一点,因为我使用了另一个通过证书 (.pem) 访问的主机。如果我试图将其添加到 qtcreator,这将向我显示:“连接到主机... SSH 连接失败:私钥文件解码失败:格式不理解。设备测试失败。”。当然,这是有效的私钥,我每天都在使用。 你不在“工具 -> 设备 -> 私钥文件”上使用证书吗? 是的,我已经在那里指定了我的 pem 文件并尝试连接,但上面出现错误 我不明白。无法连接或已连接且错误仍然存​​在? 无法连接。我正在指定所有参数,包括远程主机的 pem 证书并尝试测试连接。它只是在上面显示一个错误,由于格式未知,无法读取证书文件,然后无法连接。但是证书绝对有效,我每天都在使用它,例如在 clion ide 中用于相同目的

以上是关于QtCreator:是不是可以调试远程 GUI 应用程序? (广发银行)的主要内容,如果未能解决你的问题,请参考以下文章

Qt Creator 2.7.1 和 Qt 4.8.4 无法远程调试库

QtCreator 的几个问题

远程 gdb 的最佳 gui [关闭]

如何使用 qtcreator 通过 ninja 构建系统远程部署应用程序

如何使 QtCreator 在调试而不是汇编时显示“正常”代码?

QT Creator 无法在 i.Mx6 (buildroot) 上远程运行和调试