В этой статье рассматривается одна из причин такого поведения IDE Qt Creator и приводится решение этой проблемы. Актуальность:
1. В интернете нет описания и решения данной проблемы (я искал).
2. Некоторые решения данной проблемы, которые может выполнить пользователь, вредоносны.
3. ИИ не предлагает верного решения.
4. У ide Qt Creator нет лога ошибки данной проблемы (QT_DEBUG_PLUGINS=1 и gdb бесполезны).
Введение
У меня несколько раз за шесть лет возникала эта проблема с Qt Creator, и каждый раз я решал её неправильно, полностью переустанавливая Qt Creator. Это решение неверно, так как при этом теряются настройки профилей и сессий Qt. Переустановка с помощью sudo apt reinstall qtcreator и sudo apt purge qtcreator; sudo apt install qtcreator не помогает решить эту проблему.
Причина данной проблемы
Причина данной проблемы это повреждение файла в ~/.config/QtProject. Причём Qt Creator никак не логирует эту ошибку, даже при запуске с флагом QT_DEBUG_PLUGINS=1 или в gdb. Дело в том, что Qt Creator при запуске и переходе между вкладками («Проект», «Отладка», «Редактор») или изменении масштаба каждый раз читает и записывает файл ~/.config/QtProject/QtCreator.ini. И если этот файл переполнится, например, на 570 МБ, запуск и все операции, использующие этот файл, будут длиться по 10 секунд в зависимости от размера файла ~/.config/QtProject/QtCreator.ini. Неисправность файла QtCreator.ini заключается в том, что по неизвестной, но часто возникающей причине Qt Creator записывает битые данные, которые в текстовом виде превращаются в одну длинную строку более 570 МБ. В моём файле ~/.config/QtProject/QtCreator.ini было два сектора с такими битыми данными.
Первый — самый большой 500 мб+ WatchItems=140510285099456\\004ÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃ
Второй параметр — 30 МБ+, отвечающий за историю поиска кода в проекте:
FindCompletions\40\Flags=0
FindCompletions\40\Text=on_pushButton_sum_clickedÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÂÃÂÃÂÃÂÃ
Как видно, параметры разные, но механизм сбоя похож. Причину сбоя выяснить не удалось; возможно, она связана с кодировкой и т. д.
Исправить ошибку очень просто: необходимо удалить повреждённую строку через редактор nano сочетанием клавиш Ctrl+K, затем, при желании, вернуть пустые значения сектора и сохранить файл. Данный способ удалит только повреждённые участки истории Qt Creator. Видео решения проблемы и её проявления:
Заключение
Возможно, кому-то пригодится такое решение проблемы долгого запуска Qt Creator с последующими фризами. Самое главное в таком решении, что сохраняются настройки профилей Qt и сессий Qt.