Qt debug feed держать спам newline - PullRequest
0 голосов
/ 23 октября 2018

У меня проблема с фидом отладки в QtCreator, он продолжает рассылать символы новой строки.

Если я удаляю все вызовы qDebug () в моем коде, он работает нормально и ничего не выводит.Но если один раз вызвать qDebug (например, qDebug () << "test"; например, в начале main), он будет продолжать рассылать спам по новой строке в выходном фиде после этого вызова, пока я не закрою свое приложение. </p>

output

main.cpp

#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();
}

1 Ответ

0 голосов
/ 23 октября 2018

Вы можете включить гораздо лучшую диагностическую информацию с помощью qDebug () [и связанных с ними qWarn () и qFatal ()], которые могут помочь вам найти проблему.Это делается с помощью функции qSetMessagePattern (..).

Попробуйте вставить это в начало main (), затем запустите сборку Debug и посмотрите, что произойдет.Он должен вывести функцию, файл и строку, в которой выполняется каждый вызов qDebug ().

// set logging stuff
qSetMessagePattern("%{time yyyy-MM-dd hh:mm:ss.zzz} | %{function} [%{file}(%{line})] | %{message}");
...