如何识别导致Qt警告消息的线路?
How to identify the line cause the Qt's warning message?
我正在使用Qt,有时它会在调试窗口中发出以[E]开头的警告消息。大多数情况下,[E]警告消息还将提供有关发出此警告的cpp文件的行信息的信息。像这个:
at kernelqmetatype.cpp:597 Type conversion already registered from type QPair<QByteArray,QByteArray> to type QtMetaTypePrivate::QPairVariantInterfaceImpl
然而,这些cpp文件通常是Qt自己的文件,通常是windows中的dll。问题是,我从未在自己的代码中注册过这样的类型转换。这个警告似乎与多线程有关,因为它并不是每次都出现。是否有任何方法、函数、工具或技术可以帮助我确定是哪行源代码触发了此警告?
qWarning和其他QDebug方法通过消息处理程序发送日志。
您可以使用qInstallMsgHandler
将默认断点替换为自己的断点,并在其中放置断点。
相关文章:
- 使用QT Connect时,视觉工作室警告
- 使用预编译的标题接近时,大量的QT警告
- 是否有一种方法可以找到导致警告出现在QT中的线路
- IntelliSense函数定义未找到QT信号的警告
- 抑制QT标头的海湾合作委员会警告
- QT 信号插槽问题。发出信号,不调用时隙。没有警告,没有错误,没有消息
- QT创建者没有警告
- Qt警告:正在传递用于转换QRect的qreal::QRect(int,int,int)
- qt c++中的Qqlite重复连接警告
- 避免在使用ccache / clang编译Qt代码时出现多余的警告
- 为什么Qt没有为丢失的插槽生成至少警告
- 在 Qt 创建器中禁用 -wmissing 字段初始值设定项警告
- Qt避免警告QProcess:在进程仍在运行时被销毁(助手)
- 在Qt项目中禁用-wall编译器警告
- 如何识别导致Qt警告消息的线路?
- 在Qt Creator中禁用编译器警告项目范围(当使用MSVC时)
- 在 Visual Studio 2008 中禁用 Qt 警告
- LNK4099链接器警告与干净安装Qt SDK和Visual c++ 2008
- 将Qt 5.3应用程序移至Qt 5.5,10k+警告,PRAGMA '-Winconsistent-missing-override'
- (更新)QT QML 5.6 - 什么原因导致此警告"QApplication was not created in the main() thread"?