Qt应用程序挂起100%CPU

Mat*_*att 2 c++ qt

我有一个在Windows XP上运行的简单Qt程序 - 它只是一个数据记录程序.它读取在串行端口上发送给它的任何数据,然后将其推送到GUI并将其记录到文本文件中.

问题是,如果我运行程序一小时(大致,有时更多)它会挂断我.GUI锁定,程序停止记录.在我的任务管理器的性能选项卡上的CPU监视器上,当发生此崩溃时,我的一个核心始终直接达到100%并保持在那里直到我关闭挂起的应用程序.

我几乎没有诊断这样的问题的经验 - 有没有人有任何关于从哪里开始的提示?

And*_*bel 11

运行应用程序,直到它冻结,然后附加调试器.查看线程并检查每个线程的位置.这应该提供一些关于正在发生的事情的线索.对于在框架代码中停止的线程,调用堆栈的调查应显示是否涉及您的代码.

确保在包含所有符号的调试版本上执行此操作以获得可读结果.