Qt - 启用 Qml 调试。仅在安全的环境中使用

Posted

技术标签:

【中文标题】Qt - 启用 Qml 调试。仅在安全的环境中使用【英文标题】:Qt - Qml debugging is enabled. Only use this in a safe environment 【发布时间】:2012-09-02 07:51:32 【问题描述】:

我正在尝试运行一个非常简单的程序,该程序仅在单击“退出”按钮时关闭窗口,但如果包含该按钮的应用程序窗口确实显示,则会得到以下输出:

Starting C:\Users\Ola\Desktop\signal_slot1-build-desktop-Qt_4_8_1_for_Desktop_-_MSVC2008__Qt_SDK__Debug\debug\signal_slot1.exe...
Qml debugging is enabled. Only use this in a safe environment!

在这种情况下我该怎么办?

【问题讨论】:

【参考方案1】:

您已启用 QML 调试(实际上默认情况下已启用),这将为运行 QML 的 javascript 解释器打开一个端口,以便您可以从中获取调试输出。显然这会造成一个安全漏洞,所以当不在安全的地方使用时应该关闭它(当你发布编译时它会自动关闭)。此警告旨在提醒您注意这一点。

如果您不使用 QML,请将其关闭。您可以在构建设置所在的项目选项页面中将其关闭(这是qmake 区域中的复选框)。

【讨论】:

jvm?什么jvm?你的意思是 qt javascript 解释器(我认为是 SquirrelFish Extreme)?【参考方案2】:

假设您使用 Qt Creator:

如果您选择 Release-Build 类型,QML 调试将被禁用。为此,请选择左下角“运行”按钮上方的构建类型,然后选择“发布”。


手动地,有一个选项传递给 qmake(在 .pro 文件中或通过命令行参数),名为

CONFIG+=qml_debug

启用 qml 调试。 如果你忽略它,它应该被禁用。

【讨论】:

【参考方案3】:

如果您愿意,可以将其更改为发布模式,这样可以解决问题 但我建议您在 MSVC 和 MinGW 之间进行更改,并检查哪个可以工作。 Project->Build and Run->然后选择你需要的。

【讨论】:

以上是关于Qt - 启用 Qml 调试。仅在安全的环境中使用的主要内容,如果未能解决你的问题,请参考以下文章

Qt 预期字符 ')' 错误

如何完全禁用 Qt Creator 中的 QML 调试器?

Qt第三课 搭建调试环境

[QT_QML]qml假如调试信息 qDebug console.debug

如何分析“绑定循环”

Qt Quick QML Flickable 禁用轻弹并仅启用滚动