如何找到Qt输出的消息来源?

How to find the source of a message, output by Qt?

当 运行 我的 qt 应用程序从 qt 5.9 更新到 qt 5.15 时,我得到以下应用程序输出:

Using QByteRef with an index pointing outside the valid range of a QByteArray

该应用程序相当大并且有很多 qbytearrays 和 qbyterefs。该项目有几千个文件,所以我不想手动搜索它。有没有一种简单的方法可以找到应用程序输出的位置。例如显示生成输出的 line/file。 该行是由 qt 而不是自定义 qdebug 或任何东西生成的。

我建议您检查 Qt Creator Debugger 部分下的 Stop when qWarning() is called ]选项

默认情况下,此选项处于关闭状态,如屏幕截图所示。