当前位置: 首页 > news >正文

解决QML debugging is enabled.Only use this in a safe environment.警告

系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、警告原因
  • 二、解决办法
  • 参考

前言

我试图运行一个非常简单的程序,当单击`退出按钮时关闭窗口,但获取以下输出,前提是包含按钮的应用程序窗口不显示:
在这里插入图片描述

您已启用QML调试(实际上它默认启用),这将打开运行QML的Javascript解释器的端口,以便您可以从中获取调试输出。显然这会产生一个安全漏洞,所以当它没有在安全的地方使用时它应该被关闭(它在你发布编译时自动关闭)。这个警告是为了提醒你。 如果您不使用QML,请将其关闭。您可以在项目的选项页面中关闭它,其中包含构建设置(它是qmake区域中的复选框)。
大概意思是说:你现在用的Release编译,但你要调试她,所以Qt编译器会发出警告,但也仅仅是警告,你依然可以调试release代码。

一、警告原因

由于在Qt5以上版本默认开启QML调试器造成的。用于告知用户,这将打开一个到运行QML的Javascript解释器的端口,以便从中获得调试输出。显然,这会造成一个安全漏洞,所以在不安全的地方使用时应该关闭它(在释放运行时自动关闭)。这个警告是为了提醒你这一点。

二、解决办法

Qt4默认不开启QML调试器,而Qt5版本以上默认开启。我用的是QtCreator12.9
如果您不使用QML,无论如何都要关闭它。由于开启QML调试需要在TCP端口打开套接字,这存在安全风险。Internet上的任何人都可以连接到正在调试和执行任何JavaScript函数的应用程序。因此,您必须确保端口受到防火墙的适当保护。
具体解决方法:
1.在项目文件(.pro)添加DEFINES += QT_QML_DEBUG_NO_WARNING(只关闭打印输出,并不能关闭QML调试器)。
2.直接关闭QML调试器:
(1)Qt4版本: CONFIG -= declarative_debug
(2)Qt5版本: DEFINES += QT_QML_DEBUG_NO_WARNING
在这里插入图片描述
(3)在界面"项目"->“构建步骤”->"Enable QML debugging and profiling"复选框取消勾选;
(4)使用release版本编译,因为release编译版本默认禁用QML调试器。

在这里插入图片描述

参考

https://blog.csdn.net/nicai_xiaoqinxi/article/details/90175772

http://www.lryc.cn/news/7194.html

相关文章:

  • 华为OD机试真题JAVA实现【N进制减法】真题+解题思路+代码(20222023)
  • ACM第一周---周训---题目合集.
  • SCI学术论文的基本架构,以及Results、Discussion、Conclusion这三者的区别
  • 二叉树性质
  • 二维数组操作示例
  • Spring Boot邮件发送(powernode CD2207)(内含教训视频+源代码)
  • FortiTalk | “三英论安全”之OT安全热门话题解读
  • 前端开发:关于diff算法详解
  • 如何为报表开发工具 FastReport .NET 设置 Apache 2 Web 服务器?
  • 华为OD机试真题JAVA实现【出租车计费】真题+解题思路+代码(20222023)
  • MySQL 查看版本的 5 种方法
  • 【软件测试】稳定性测试怎么做,这篇文章彻底讲透了~
  • Leetcode:198. 打家劫舍、213. 打家劫舍 II、337. 打家劫舍 III(C++)
  • 【每日随笔】手指训练 ( 手指训练作用 | 哪些人需要手指训练 | 手指操 | 手指康复训练器材 )
  • ATR指标在外汇交易中的另类运用方法
  • SQL Server 数据批量导出处理
  • 虹科分享 | CANopen协议基础知识——LSS服务
  • JS混淆和解混淆
  • MySQL-数值函数
  • SpringMVC(1)
  • 珠海先达MES系统六大功能解决电子组装行业可视化问题
  • 获取本机的IP地址,看似简单的获取,实则蕴含非常多的操作
  • 【SSM】篇一:初试Spring--Ioc与Bean
  • 华为OD机试真题Python实现【出租车计费】真题+解题思路+代码(20222023)
  • Elasticsearch:如何修改 nested 字段的值
  • 【JAVA】jdk8 Stream 排序精通
  • python的opencv操作记录12——Canny算子使用
  • Spark on hive Hive on spark
  • 【MySQL】子查询
  • Day889.MySQL高可用 -MySQL实战