1

我在 QtCreator 中的调试提要有问题,它不断向换行符发送垃圾邮件。

如果我删除代码中的所有 qDebug() 调用,它工作正常并且什么也不输出。但是,如果调用 qDebug 一次(例如 qDebug() << "test"; 在 main 的开头),它将在该调用之后继续在输出提要中发送垃圾邮件换行符,直到我关闭我的应用程序。

输出

主文件

#include "mainwindow.h"
#include <QApplication>
#include <QtDebug>

int main(int argc, char *argv[])
{
    qDebug() << "test";

    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}
4

1 回答 1

0

您可以使用 qDebug() [以及相关的 qWarn() 和 qFatal()] 打开更好的诊断信息,这可能会帮助您找到问题。它是使用 qSetMessagePattern(..) 函数完成的。

尝试将其插入 main() 的顶部,然后运行 ​​Debug 构建并查看会发生什么。它应该输出进行每个 qDebug() 调用的函数、文件和行。

// set logging stuff
qSetMessagePattern("%{time yyyy-MM-dd hh:mm:ss.zzz} | %{function} [%{file}(%{line})] | %{message}");
于 2018-10-23T16:13:26.653 回答