如何识别线路导致Qt的警告信息?

时间:2014-11-11 11:04:59

标签: c++ multithreading qt

我正在使用Qt,有时它会在调试窗口中以[E]开头发出警告消息。 大多数情况下,[E]警告消息还将提供有关提供此警告的cpp文件的行信息的信息。像这样:

at kernel\qmetatype.cpp:597 Type conversion already registered from type QPair<QByteArray,QByteArray> to type QtMetaTypePrivate::QPairVariantInterfaceImpl

但是,通常这些cpp文件是Qt自己的文件,通常是Windows中的dll。 问题是,我从未在自己的代码中注册过这种类型转换。 这个警告似乎与多线程有关,因为它并不是每次都出现。 是否有任何方法,功能,工具或技术可以帮助我确定我自己的源代码的哪一行触发了此警告?

1 个答案:

答案 0 :(得分:0)

q警告和其他QDebug方法通过消息处理程序发送日志。

您可以使用qInstallMsgHandler替换自己的默认值,并在其中放置一个断点。

相关问题