qDebug не печатает полный QByteArray, содержащий двоичные данные.

У меня есть QByteArrayдля хранения данных, полученных от GPS, который часть двоичная и часть ASCII. Я хочу, чтобы предложения по отладке знали, что было получено, поэтому я пишу qDebugследующим образом:

//QByteArray buffer;
//...
qDebug() << "GNSS msg (" << buffer.size() << "): " << buffer;

И я получаю сообщения, подобные этому, на консоли:

GNSS msg ( 1774 ): "ygnnsdgk...(many data)..PR085hlHJGOLH
(more data into a new line, which is OK because it is a new GNSS sentence and
probably has a \n at the end of each one) blablabla...

Но вдруг я получаю новую печать итерация. Данные еще не стерты, они добавлены. Таким образом, размер нового сообщения, например, 3204, очевидно, больше, чем предыдущая печать. Но печатает точно так же (но с новым размером 3204 в скобках). Новые данные не печатаются, точно так же, как и в предыдущем сообщении:

GNSS msg ( 3204 ): "ygnnsdgk...(many data)..PR085hlHJGOLH
(more data into a new line, which is OK because it is a new GNSS sentence and
probably has a \n at the end of each one) blablabla...

Думаю, qDebugпрекращает печать, потому что у него есть предел, или потому что он достигает завершающего символа или что-то в этом роде, но я' только предполагаю.

Любая помощь или объяснение такого поведения?

12
задан leemes 6 June 2012 в 23:27
поделиться