屏蔽qDebug等调试信息

Qt Debug信息屏蔽在什么场合下会用到? 当你的主线程中还有另外的定时任务处理时,你就必须屏蔽这些大量的输出语句了,不然,这些任务虽然也能执行,但是大量的刷屏信息,估计你也受不了。还有一种场合,就是主线程中,一般是ui线程,也可以是没有ui的没有线程存在的程序进程中,你在主线程中以每秒输出一个调试信息的速度去运行程序,尤其是某些数据收发过程,尤其是在调试一些逻辑过程的时候,看看哪里逻辑对错,若是使用调试器,调试起来会比较慢,而且经常晕头转向的跳转跳转,还不如一个输出语句,然后ctrl+r运行来得快捷。所以,不同场合不同方式,怎么用得爽怎么来吧。.. 阅读详情
DEFINES += QT_NO_WARNING_OUTPUT
DEFINES += QT_NO_DEBUG_OUTPUT

C:\Qt\Qt5.7.0\5.7\msvc2013\include\QtCore\qlogging.h
#define QT_NO_QDEBUG_MACRO while (false) QMessageLogger().noDebug
#if defined(QT_NO_DEBUG_OUTPUT)
#  undef qDebug
#  define qDebug QT_NO_QDEBUG_MACRO
#endif
#if defined(QT_NO_INFO_OUTPUT)
#  undef qInfo
#  define qInfo QT_NO_QDEBUG_MACRO
#endif
#if defined(QT_NO_WARNING_OUTPUT)
#  undef qWarning
#  define qWarning QT_NO_QDEBUG_MACRO
#endif


方法1:直接在main函数之前加入宏定义。注意,这种方法,好像无法保证全局所有类中的qDebug被屏蔽。最好还是用第二种或第三种方法。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <QtCore/QCoreApplication>
 
#define QT_NO_DEBUG_OUTPUT      //屏蔽debug输出
#define QT_NO_WARNING_OUTPUT    //屏蔽warning输出 
#include <QtDebug>
int  main( int  argc,  char  *argv[])
{
     QCoreApplication a(argc, argv);
 
         qDebug( "Funciton debug" );
     qDebug()<< "Stream debug" ;
     
     return  a.exec();
}

方法2:
在Qt工程文件.pro里面添加
 DEFINES += QT_NO_WARNING_OUTPUT\ QT_NO_DEBUG_OUTPUT 
然后clear项目重新编译即可屏蔽qDebug()的输出.

方法3:
在VC项目配置里C/C++ /Preprocessor /Preprocessor Definitions属性里面加入宏定义:QT_NO_DEBUG_OUTPUT
屏蔽qDebug等调试信息 - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅
 

文档信息

一文吃透 Tools for Applying SAP Notes:从 SNOTE、TCI 到 Solution Manager 与 SAP Cloud ALM 本文系统梳理了SAP技术与运维团队应用SAP Notes的高效工具与方法,涵盖On-Premise与云环境。文章首先阐述了精研SAP Notes工具的必要性,指出其是实施错误修复、法务变更和性能改进的关键载体。随后详细介绍了SNOTE、TCI、Solution Manager、Cloud ALM和Maintenance Planner等核心工具的定位与适用场景,并通过采购异常案例展示了标准更正流程。针对复杂修复场景,文章提出了TCI的批量处理方案,并强调将Note实施纳入变更治理流程的重要性。最后总结了三种 阅读详情

相关推荐

ArcGIS供地图斑图形及属性入库操作(附练习数据)

已知数据: 供地图斑位置图。 供地图斑表格 成果要求:将供地图斑导入mdb数据库并将供地图斑表格的属性进行挂接。 接下来我们开始操作: 1、 打开arcmap,在目录内连接的文件夹内找到供地图斑位置图。图片 2、 将annotation和polygon添加到arcmap图片 3、 右击文件所在文件夹新建mdb数据库图片 4、 右击数据库新建要素数据集。(要素数据集非常重要,稍后所有操作都在数据集内进行)选择图斑投影方式及代号。图片 5、 右击要素数据集—导入(将图层内的数据导入数据库)图片 6、 数据导入.

qq_43173805的博客 8132

C语言屏蔽调试时的print()

调试程序时我们通常会写一些printf()来查看运行中的值,但在工作环境中又不需要把函数中的过程变量显示出来。当print语句过多时逐行注释掉显然是费时费力的。 此时,只需在文件头使用宏定义define即可将本文件中的print语句屏蔽掉 #define printf(format, ...) 若想在本文件的某个函数中解除屏蔽,只需undef #undef printf ...

Useless_csdn的博客 2085

QT | QT打包生成单个EXE文件

1.以release方式运行程序 2.在release文件夹中找到.exe文件 如果没有找到exe,可能是因为在项目中勾选了shadow build,你可以在构建目录中找到exe 3.将exe放在一个新建的文件夹中,因为待会儿会生成很多dll文件 4.点击电脑左下角搜索QT,打开Qt 5.8 for Desktop (MinGQW 5.3.0 32bit) 5.进入刚刚新建的文件夹,输入wi...

⊳ideal world⊲~ヽ(゚︺゚)Hi 1238

屏蔽(禁用)qDebug调试信息

在VC项目配置里C/C++ /Preprocessor /Preprocessor Definitions属性里面加入宏定义:QT_NO_DEBUG_OUTPUT。然后clear项目重新编译即可屏蔽qDebug()的输出.在Qt工程文件.pro里面添加。

Alliswell2021的博客 1538

告别‘报错马拉松’:一份保姆级的Ubuntu 20.04编译OpenWrt 15.05环境配置与问题修复清单

本文提供了一份详细的Ubuntu 20.04编译OpenWrt 15.05的环境配置与问题修复指南,帮助开发者告别‘报错马拉松’。从基础环境搭建到典型报错分类与修复方案,再到高阶问题的深度修复,全面覆盖编译过程中可能遇到的各类问题,并提供自动化补丁脚本和Docker环境固化方案,确保编译过程高效顺畅。

weixin_33230433的博客 296

做小程序支付时,我是怎么被“虚拟支付”绊了一跤的

微信小程序支付开发中,普通支付与虚拟支付存在本质差异。开发者常误将虚拟权益(会员、点数等)当作普通商品支付,导致审核失败。两者在审核关注点、结算方式、API调用及平台政策上都截然不同。关键点在于:1)先明确交易对象类型;2)产品命名需真实反映权益性质;3)支付成功≠业务完成;4)审核说明要详细描述交付逻辑;5)避免依赖过时规则。正确顺序应是:判断商品属性→选择支付类型→设计订单系统→准备审核材料。这个认知差异比技术实现更重要,提前理解平台规则可大幅减少返工。

zhurizhe71的学习之路 2583

【Qt 应用开发】Qt 中的信息输出机制:QDebug、QInfo、QWarning、QCritical 的简单介绍和用法

qt中的信息输出机制

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 1万+

Ubuntu1804 关于ubuntu18.04下载软件仓库信息失败,请检查网络连接 的解决方案

今天电脑在更换软件源的时候遇到了这个问题。出现了如上图所示的错误信息。 尝试了各家优快云的博客之后,发现方法大同小异,均无法解决。 方法大多都是要求更换软件源,如下所示: 打开“Ubuntu软件中心”-->点击“编辑”-->点击“软件源”-->在Ubuntu软件界面,“下载自”默认是“中国的服务器”,改为“主服务器”试试 2.打开更新管理器-》设置-》选择站点-》...

weixin_43729409的博客 1万+

QT : 屏蔽qDebug调试信息

DEFINES += QT_NO_WARNING_OUTPUTDEFINES += QT_NO_DEBUG_OUTPUTC:\Qt\Qt5.7.0\5.7\msvc2013\include\QtCore\qlogging.h[cpp] view plain copy#define QT_NO_QDEBUG_MACRO while (false) QMessageLogger().noDebug  ...

yexiang优快云的专栏 4855

硬件测试有哪些?

硬件单元测试(UT)是验证电路功能与可靠性的关键环节,主要分为电源测试和信号测试两大模块。电源测试需验证输入电压范围、高低压极限、短路保护等功能,确保供电稳定性;信号测试则聚焦时钟、总线、存储等接口的时序与完整性。测试要求统一标准、可追溯数据、问题闭环处理,通过开发与测试协同确保质量。规范的单元测试能有效降低后期集成风险,提升产品可靠性,其核心始终是在最小单元上确保稳健性,为系统级可靠性奠定基础。

硬核科技 245

硬件学习手册【总目录】

欢迎大家来到《硬件学习手册》,专栏主要包括 《硬件经验手册》《电子元器件器件手册》《PCB手册》《CPU手册》《元器件选型手册》五个分册。在开始专栏的更新前,博主先列出专栏的大纲,以供大家参考。大家直接点击大纲中的蓝色标题即可轻松传送。

fydar的博客 5855

Qt中qDebug和qIfo的区别

输出的信息级别是 Info,通常用于输出程序运行时的一些重要信息,例如程序启动、关闭等。在 Release 模式下,'qInfo。输出的信息级别是 Debug,通常用于输出调试信息,只在开发阶段有意义。在 Release 模式下,'qDebug。'qDebug都是 Qt 提供的用于输出调试信息的函数,它们的主要区别在于输出的信息级别不同。输出的信息会被编译进可执行文件中,因此需要谨慎使用,以免影响程序的性能。输出的信息不会被编译进可执行文件中,因此不会对程序的性能产生影响。

m0_74239763的博客 1298

YOLOv8【第十三章:模型压缩与极致优化篇·第4节】LAMP 剪枝算法——无需超参的自动化剪枝策略!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 5645

QT : 屏蔽qDebug调试信息

在VC项目配置里C/C++ /Preprocessor /Preprocessor Definitions属性里面加入宏定义:QT_NO_DEBUG_OUTPUT。方法1:直接在main函数之前加入宏定义。注意,这种方法,好像无法保证全局所有类中的qDebug被屏蔽。最好还是用第二种或第三种方法。然后clear项目重新编译即可屏蔽qDebug()的输出.在Qt工程文件.pro里面添加。

木牛的博客 39

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

QT qml屏蔽掉所有qdebug等调试信息。

在交叉编译到开发板中,如果多个线程,经常打印出调试信息,影响后续对板端控制,可以进行屏蔽。文件io等也会屏蔽掉。

hsyhd的博客 406

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Qt屏蔽qDebug打印

做项目免不了qDebug打印调试信息。随着项目的完善,于是在控制台看到到处都是qDebug的信息,这不但影响程序的效率,而且也不容易定位真正的错误信息。于是想到了QT中可以屏蔽qDebug打印调试信息,然后在项目中调试的时候用qDebug项目完结把它屏蔽掉就OK。下面是我使用宏自定义的输出格式: #ifndef OUT_FORMAT #define OUT_FORMAT "{ FILE:["&...

刘一儿(嵌入式) 1626

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Qt开发之路43---Qt屏蔽qDebug调试信息

一:局部屏蔽 如下,在当前文件加宏定义QT_NO_WARNING_OUTPUT 和 QT_NO_DEBUG_OUTPUT #define QT_NO_DEBUG_OUTPUT //屏蔽debug输出 #define QT_NO_WARNING_OUTPUT //屏蔽warning输出 二:全局屏蔽 如下,在.pro文件中添加宏定义QT_NO_WARNING_OUTPUT 和 QT_NO_DEBUG_OUTPUT DEFINES += QT_NO_WARNI

木木木 的博客 1349

Qt 屏蔽qDebug 输出

在pro 文件中定义 QT_NO_DEBUG_OUTPUT 这个宏,就可以屏蔽qDebug 的输出了 DEFINES += QT_NO_DEBUG_OUTPUT 那么为什么定义这个宏就可以屏蔽qDebug 的输出呢?看qlogging.h 中的定义 #define QT_NO_QDEBUG_MACRO while (false) QMessageLogger().noDebug #if de...

逸冰小子 1455

QT屏蔽qDebug的方法

QT屏蔽qDebug的方法 在工程文件.pro里面添加 DEFINES += QT_NO_WARNING_OUTPUT\ QT_NO_DEBUG_OUTPUT 然后clean 再rebuild ;这样就能屏蔽qDebug的输出信息了 参考:https://www.cnblogs.com/yikezhuixun/p/6061024.html ...

心跳的博客 1023

屏蔽Qt的qWarning() qDebug()语句输出

1.屏蔽Qt的qWarning()语句输出 在工程文件.pro文件中添加 DEFINES += QT_NO_WARNING_OUTPUT 2.屏蔽Qt的qDebug()语句输出 在工程文件.pro文件中添加 DEFINES += QT_NO_DEBUG_OUTPUT 3.两个都屏蔽 在工程文件.pro文件中添加 DEFINES += QT_NO_WARNING_

好行者 2764

qt中屏蔽qDebug

pro文件中#//屏蔽qDebug()输出 DEFINES+=QT_NO_DEBUG_OUTPUT

MichaelSrc的草稿簿 1255

QT屏蔽qDebug()、qWarning()打印信息

转载: https://blog.youkuaiyun.com/qq_35173114/article/details/81037315   QT编译程序时,有时候需要用qDebug()打印信息,但太多了之后手动一个个屏蔽也麻烦,删除却又怕下次需要,这时候就需要预定义宏 在工程文件.pro里面添加 DEFINES += QT_NO_WARNING_OUTPUT\  QT_NO_DEBUG_OUTPUT...

zhenguo26的博客 2307

Qt屏蔽输出流技巧

Qt程序中调试会加入qDebug语句,但有时候想屏蔽掉,用下面的方法很方便实现。 在Qt项目文件添加以下定义: 屏蔽qInfo() DEFINES += QT_NO_INFO_OUTPUT 屏蔽qDebug() DEFINES += QT_NO_DEBUG_OUTPUT 屏蔽qWarning() DEFINES += QT_NO_WARNING_OUTPUT

热土程序园,利他愉己~ 747

Qt小技巧集锦

除了/*...*/和//...还可以使用下面的方式注释 #if 0 需要注释的代码 #endif123 2、Qt使用cout输出更详细的调试信息 使用C语言全局宏输出调试信息所在文件、行号 #define cout qDebug()<<"["<<__FILE__<<":"<<__LINE__<<"]" 构造函数中: c...

wu694128的博客 599

qDebug小坑

  使用qDebug打印输出,但这里有个注意的地方是,qDebug是一个宏,可以被屏蔽,比如定义了:QT_NO_DEBUG_OUTPUT宏,即qDebug()后面的语句将不再执行,会导致程序意想不到的后果。 qDebug() << system("myapp");   除了qDebug宏,还有qWarning和qInfo也是需要注意的。 ...

Qt君 383

麒麟系统下QT运行一端时间内存占满的问题

这就是Qt常规的方法,发布时,可使用屏蔽宏,屏蔽调所有的qDebug和qWarn输出。在.pro文件中添加宏定义;

weixin_45790559的博客 966
上一篇: qt - How can I convert a QImage of format RGB32 to OpenCV::mat? - Stack Overflow
下一篇: qt中如何用qDebug输出彩色调试信息
cocoasprite
博客等级 码龄14年 72粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值