问题标签 [qdebug]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
82794 浏览

c++ - 如何重定向 qDebug、qWarning、qCritical 等输出?

我正在使用很多qDebug() <<语句进行调试输出。是否有任何跨平台的方式可以将调试输出重定向到文件,而无需使用 shell 脚本?我猜open()dup2()会在 Linux 中完成这项工作,但它会在 Windows 中使用 MinGW 编译吗?

也许有一种 Qt 方法可以做到这一点?

0 投票
7 回答
61157 浏览

c++ - 如何在没有附加空格和换行符的情况下调用 qDebug?

我正在使用 C++/Qt 打印函数 qDebug,但有时我想控制如何添加 "、空格和换行符,而不是使用默认的 qDebug。

我们举一个简单的例子:

这将打印

但是假设我不喜欢附加的 " 和空格,并且希望打印看起来像

然后我如何调用 qDebug?


注意: qDebug 中有一个名为 nospace的函数,但它会删除空格。但是“”仍然存在。

如果我使用这个:

我得到:

但请注意,我仍然没有找到摆脱结尾换行符的方法。

/谢谢

0 投票
1 回答
2008 浏览

c++ - Qt 和 UTF-8:奇怪的行为

为了说明我的问题,我会给你一个例子:

我有 UTF-8 编码的文本文件。

in.txt

in.txt该程序逐行读取并产生重复的out.txt. 它不仅复制文件,还将其打印到控制台。最后,它QString使用与文件第一行相同的文本创建。

控制台输出是个谜:

out.txt: (复制)

为什么它首先打印“??????” 复制到控制台,然后在我将“ąśćź”硬编码到我的程序中时打印“ąśćź”?似乎是什么问题?它创建相同的副本,in.txt因此可以正常工作。QStringTextStreams

提前致谢。

0 投票
1 回答
2526 浏览

unit-testing - 在 Qt 单元测试中使用 qDebug

我想在 Qt 单元测试中使用 qDebug,我已经编写了 qDebug 的代码,但它没有得到显示我什至使用过

但即使这样也只显示错误来自的位置。但我需要使用 qDebug 来获取有关错误的更多信息

0 投票
1 回答
1494 浏览

qt - Qt枚举比较并输出到QDebug

我正在向 Qt 元对象系统注册枚举。我已经仔细检查了所有这些都具有元类型 ID,并且一切看起来都很完美。但是我对这些比较有一些未解决的问题。

让我们考虑这个用于填充组合框的代码:

效果很好,我的列表中填充了我的枚举的人类可读文本。

现在,我正在尝试使用包含枚举值的 QVariant 设置列表显示的初始值:

这段代码不起作用。我必须通过以下方式替换测试:

这样就可以了。

谁能解释我如何在 QVariants 中比较我的自定义枚举?还是在创建用作列表的用户数据的 QVariant 时我做错了什么?

此外,如果我尝试 qDebug() 在循环中创建的 QVariants 以填充列表,我会得到空值输出。例如,在第一段代码中生成的输出如下所示:

如您所见,该值未正确输出...您能帮我找出原因吗?

谢谢你,皮埃尔。

0 投票
1 回答
369 浏览

c++ - 类似 QDebug 的结构:通过 `operator<<` 确定输入的结束

Qt 有一个很好的调试功能,像这样调用

它产生一条带有一些“标准到字符串”的对象的行,并且 - 这是重要的部分 - 打印 a\n并在之后冲洗蒸汽second_objectstd::string to_string()我想通过我所有的类都有一个我称之为方法的约定来重现这种行为:

我现在的问题是:有没有办法找出*this第二次返回后返回的对象不再被调用?这样我就可以打印std::endl? qDebug()似乎能够做到这一点。

0 投票
2 回答
531 浏览

c++ - qDebug 和 QString const 参考的问题

有一个具有以下功能的类:

但是当我这样做时:

当我从字符串返回中删除 const & 时,它可以工作。就像 << 不适用于引用。出了什么问题,为什么会崩溃?

0 投票
1 回答
12463 浏览

c++ - qDebug 没有打印包含二进制数据的完整 QByteArray

我有一个QByteArray存储从 GPS 接收到的数据,它是部分二进制和部分 ASCII。我想知道调试建议知道收到了什么,所以我写了qDebug这样的:

我在控制台收到这样的消息:

但突然间我得到了一个新的打印迭代。数据还没有被删除,它已经被附加了。所以新的消息大小例如 3204,明显比以前的打印大。但它的打印结果完全相同(但括号中的新尺寸为 3204)。没有新数据被打印出来,就像之前的消息一样:

我想qDebug停止打印是因为它有一个限制,或者因为它到达了一个终止字符或类似的东西,但我只是在猜测。

对这种行为有任何帮助或解释吗?

0 投票
2 回答
7465 浏览

debugging - qDebug Qt 控制台应用程序输出到 Qt Creator 应用程序输出

如何在 Qt 控制台应用程序中使用 qDebug 输出到 Qt Creator“应用程序输出”窗口?当前 qDebug 写入控制台窗口,这会干扰非调试输出。

默认情况下,在 Qt GUI 应用程序中使用 qDebug 输出到应用程序输出窗口。

应用程序输出

0 投票
7 回答
19743 浏览

c++ - qDebug 不显示任何内容

通常,当我需要调试某些东西时,使用调试器打印某些东西比使用qDebug()调试器逐步调试更容易。问题是有时qDebug()根本不显示的输出!与qWarning和相同qCritical。奇怪的是,它仅在正常运行项目(Ctrl + R)时发生,而在调试(F5)时显示输出。