我在Windows XP上运行一个简单的Qt程序 - 它只是一个数据记录程序。它读取在串行端口上发送给它的任何数据,然后将其推送到GUI并将其记录到文本文件中。
问题是,如果我运行程序一小时(大致,有时甚至更多),它将挂在我身上。 GUI锁定,程序停止记录。在我的任务管理器的性能选项卡上的CPU监视器上,当发生此崩溃时,我的一个核心总是直接达到100%并保持在那里直到我关闭挂起的应用程序。
我确实没有诊断这类问题的经验 - 有没有人有任何关于从哪里开始的提示?
答案 0 :(得分:11)
运行应用程序,直到它冻结,然后附加调试器。查看线程并检查每个线程的位置。这应该提供一些关于正在发生的事情的线索。对于在框架代码中停止的线程,调查堆栈的调查应显示是否涉及您的代码。
确保在包含所有符号的调试版本中执行此操作以获得可读结果。