Following up on my last post about using qDebug to write logging information to a file, I’ve noticed that there is some confusion about how to best use qDebug. qDebug is limited – it expects a QByteArray (or similar) because it is converting that directly into a char * string for output (about as simple as you can get). However, most people want to write more information than just a simple byte array to the output stream. Below are some examples:
//Basic qDebug call
qDebug("My debug text");
//Basic Output using QString
QString text = "My debug text";
qDebug(text.toAscii());
//Debug string with number
int times = 5;
qDebug("Loop was run "+QString::number(times).toAscii()+" times");
To output a number, the easiest way is to use QString’s static method ‘number’ to create a new QString and then output the QByteArray to qDebug.
