Приложение Qt зависает со 100% процессором - PullRequest
2 голосов
/ 30 июня 2011

У меня есть простая программа Qt, работающая на Windows XP - это просто программа для регистрации данных. Он считывает любые данные, отправленные ему через последовательный порт, а затем передает их в графический интерфейс и записывает их в текстовый файл.

Дело в том, что если я запускаю программу в течение часа (грубо, иногда больше), она зависнет от меня. GUI блокируется, и программа перестает регистрировать. На мониторе ЦП на вкладке производительности моего диспетчера задач одно из моих ядер всегда достигает 100%, когда происходит этот сбой, и остается там, пока я не закрою зависшее приложение.

У меня буквально нет опыта в диагностике подобных проблем - есть ли у кого-нибудь советы о том, с чего начать?

1 Ответ

11 голосов
/ 30 июня 2011

Запустите приложение, пока оно не зависнет, а затем подключите отладчик. Просмотрите темы и проверьте, где находится каждая из них. Это должно дать некоторые подсказки о том, что происходит. Для потоков, которые остановлены в коде фреймворка, исследование стека вызовов должно показать, задействован ли ваш код.

Убедитесь, что вы делаете это в отладочной сборке со всеми включенными символами, чтобы получить читабельные результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...