Kalombyr
@Kalombyr

Как и какую информацию собрать при фатальной ошибке в Qt?

Доброго дня!
В общем, у некоторых клиентов крошится приложение с ошибкой в модуле qquicklayoutsplugin.dll код исключения 0xc0000090 смещение ошибки: 0x00003082 причём в рандомных местах.
Понятно дело, что где-то у меня что-то не так в QML, но вот где именно понять не могу.

Подскажите, пожалуйста, как и какую информацию можно собрать, что бы приблизится к решению ?
И вообще, как правильно в таких случаях поступать (имею ввиду может-быть есть инструмент/библиотека, с помощью которой диагностируются такие проблемы и пишется лог) ?
  • Вопрос задан
  • 348 просмотров
Пригласить эксперта
Ответы на вопрос 2
@tugo
1. Подключить к своей программе библиотеку логгирования. Рекомендую log4cplus.
https://habr.com/ru/post/118165/
Дружит с Qt. Логгировать все и вся.
Логгер конфигурируется через текстовой файл конфигурации, который лежит рядом с приложением. В конфигурации задано какого уровня ошибки логгировать и куда (в файл, консоль, сеть).
Уровни логгирования по важности TRACE > DEBUG > INFO > WARN > ERROR > FATAL
При нормальной работе приложения к конфиге устанавливаете логгировать INFO сообщения и выше.
Как только происходит что-то плохое, ваша программа падает - просите клиентов включить логгирование TRACE, завалить программу и прислать логи. Или если можете это сделать сами удаленно.

2. Подключаете Google Breakpad https://maxsavenkov.livejournal.com/189460.html После падения берете краш-дамп и изучаете. Там будет видно в какой функции упали, это упростит поиск.

Рекомендую начать со 2 пути, он побыстрее. Эти варианты не исключают друг друга, а дополняют.
Ответ написан
Комментировать
@shmuft
Kalombyr
У вас получилось найти причину ошибки?
У меня такая же ошибка 0xc0000090.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы