在调试过程中如何查看 Qt 对象 QByteArray 的内容?

avi*_*iit 5 c++ qt visual-studio-2010 visual-studio-debugging qbytearray

我的程序使用一些 QByteArray 类型的变量来包含数据(字节)。这些字节可能是特殊字符,如“\0”、1、...,所以在调试时我看不到特殊字符之后的所有元素。如果我使用 std::vector,我可以看到所有元素。我必须使用 QByteArray,但在调试时无法看到该变量的所有元素。请帮助我,请!谢谢!

示例:QByteArray bytes(4, '\0'); 现在,如果调试,我只会看到“”。但我想看到“'\0','\0','\0','\0'”或类似的东西。

我对 QDateTime 也有同样的问题。但我通过此帮助解决了:http://www.qtcentre.org/threads/32336-View-QDate-and-QDateTime-in-VisualStudio-debugger

此链接可能有帮助,但这不能解决我的问题:http://qt-project.org/wiki/IDE-debug-helpers

例子:

QByteArray ba("Hello"); //debuging, see: ba = "Hello"     
ba.append('\0');     
ba.append("a message"); //we just see: ba = "Hello"   
Run Code Online (Sandbox Code Playgroud)

skg*_*skg 1

为了进行调试,您可以将 QBytearray 转换为 QString 并查看输出。

例如:

QByteArray bArray;

QString str = "";

str.append(bArray);

QDebug() << str ; // this will display the content in your console/application output  window
Run Code Online (Sandbox Code Playgroud)

希望这能解决您的问题。