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

网站开发网广东建设公司网站

网站开发网,广东建设公司网站,重庆网站价格,四川人力资源考试官网二建1、在Qt软件开发过程中,我们经常使用qDebug()输出一些调试信息在QtCreator终端上。 但若将软件编译、生成、打包为一个完整的可运行的程序并安装在系统中后,系统中没有QtCreator和编译环境,那应用程序出现问题,如何输出信息排查…

1、在Qt软件开发过程中,我们经常使用qDebug()输出一些调试信息在QtCreator终端上。
  但若将软件编译、生成、打包为一个完整的可运行的程序并安装在系统中后,系统中没有QtCreator和编译环境,那应用程序出现问题,如何输出信息排查呢?
  
2、一个好方法就是Qt调试信息重定向本地文件,即仍然使用qDebug()等函数,但设置后调试信息不输出在终端上,而是输出到指定路径的日志文件中,这样我们就可以通过日志进行调试。

3、Qt提供了5个全局信息输出函数,对应不同级别:
  (1)、qDebug(): 调试信息。
  (2)、qInfo(): 普通信息。
  (3)、qWarning(): 警告信息。
  (4)、qCritical(): 关键错误和系统错误信息。
  (5)、qFatal(): 致命错误信息,如果运行qFatal(),应用程序会立即终止。
  
4、Qt调试信息重定向本地文件,只要实现消息处理函数,然后通过qInstallMessageHandler重定义,就可以将调试信息输出到指定路径的文件中了。

5、示例: (main.cpp, 其它文件略)

//main.cpp#include "widget.h"
#include <QApplication>
#include <QMutex>
#include <QDateTime>
#include <QFile>
#include <QDebug>static QMutex mutex;
void MyLog(QtMsgType type, const QMessageLogContext & context, const QString & message)
{mutex.lock();QString strType;switch (type) {case QtDebugMsg:strType = "Debug";break;case QtInfoMsg:strType = "Info";break;case QtWarningMsg:strType = "Warning";break;case QtCriticalMsg:strType = "Critical";break;default:break;}QString strFile = context.file;QString strLine = QString::number(context.line);QString strFunc = context.function;QString strTime = QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss");QString strLog = QString("[%1][%2][%3][%4][%5]%6.").arg(strType).arg(strFile).arg(strLine).arg(strFunc).arg(strTime).arg(message);QString strFileName = QString("App_%1.log").arg(QDateTime::currentDateTime().toString("yyyyMMdd"));QFile file(strFileName);file.open(QIODevice::WriteOnly | QIODevice::Append);QTextStream stream(&file);stream << strLog << "\r\n";file.flush();file.close();mutex.unlock();
}int main(int argc, char *argv[])
{QApplication a(argc, argv);qInstallMessageHandler(MyLog);qDebug() << "This is Debug";qInfo() << "This is Info";qWarning() << "This is Warning";qCritical() << "This is Critical";Widget w;w.show();return a.exec();
}

//运行结果,在exe同级目录下有一个如App_20250425.log文件,里面包含各种输出信息。

[Debug][..\..\main.cpp][57][int __cdecl main(int,char *[])][2025-04-25 16:55:49]This is Debug.
[Info][..\..\main.cpp][58][int __cdecl main(int,char *[])][2025-04-25 16:55:49]This is Info.
[Warning][..\..\main.cpp][59][int __cdecl main(int,char *[])][2025-04-25 16:55:49]This is Warning.
[Critical][..\..\main.cpp][60][int __cdecl main(int,char *[])][2025-04-25 16:55:49]This is Critical.
[Debug][..\..\main.cpp][57][int __cdecl main(int,char *[])][2025-04-25 16:56:51]This is Debug.
[Info][..\..\main.cpp][58][int __cdecl main(int,char *[])][2025-04-25 16:56:51]This is Info.
[Warning][..\..\main.cpp][59][int __cdecl main(int,char *[])][2025-04-25 16:56:51]This is Warning.
[Critical][..\..\main.cpp][60][int __cdecl main(int,char *[])][2025-04-25 16:56:51]This is Critical.

http://www.dtcms.com/wzjs/797303.html

相关文章:

  • 有哪些做兼职的设计网站有哪些工作免费做qq互赞网站
  • 理财网站免费建设形象墙logo墙设计图
  • php 获取网站根域名做网站找人
  • 中建西部建设广通讯网站小程序转换成网页
  • 企业手机网站建设教程百度网站链接提交页面
  • 网站 空间地址是什么奉化网络推广
  • dedecms 门户网站外贸网站做开关行业的哪个好
  • seo技术快速网站排名广州网站公司推广建设
  • 二手商品网站怎么做一般网站做推广要多大的带宽和内存
  • 烟台网站建设咨询扬州网站建设公元国际
  • 阿里云网站建设方案书中山市网站建设 中企动力洛阳分公司
  • 食品网站应该怎么做有哪些网站是提供设计图片的
  • 企业网站设计制作收费南京最新情况最新消息今天
  • 太原网站建设总部在哪机械加工网站哪里找
  • 网站关键词排名如何提升seo推广具体做什么
  • 成都网站运营公司网站如何在工信部备案
  • 云南住房和城乡建设厅网站angular 做的网站
  • 新网网站空间到期停了 咋续费赣州搜赢网络科技有限公司
  • 做企业网站应该注意什么建设网站准备资料
  • wordpress修改首页模板文件名seo推广怎么收费
  • 优化建站seo门户wordpress 底部 时间
  • 汕头网站关键词优化教程做软件工资高还是网站
  • 做我韩国连续剧网站网页制作中怎么添加图片
  • 用dw做教学网站口碑好的网站建设公司
  • 青海省交通建设工程质量监督站网站apt-get install wordpress
  • wordpress+用户前台网站的优化是什么意思
  • 社区门户网站模板营销引流100个技巧
  • 山东网站建设维护网页布局设计说明
  • 软件开发资源网站汕头网站设计浩森宇特
  • 专业网站制作网站公司伊宁市住房与城乡建设局网站