Есть программа на Qt скомпилированная с помощью MinGW. У некоторых пользователей программа просто вылетает без какого либо сообщения об ошибке. Понимаю, что где-то ошибка в коде, но в какую сторону рыть не понятно.
Усложняет ситуацию еще и то, что приложение фоновое и висит в трее, потому пользователи даже не понимаю в какой момент она вылетает.
Как в Qt ловить причину креша (нужно решение которое будет работать хотя бы на Windows)?
Можно конечно, но программа делает ряд действий каждые 100 мс, а с учетом того, что вылететь она может только через 4-5 часов использования (а может и не вылететь), то размеры логов будут гигантские. Я уже молчу о том, что это насилование винтчестера.
Александр: ротация логов, допустим. Логгировать можно основные параметры, которые меняются реже, что уже неплохо сузит круг подозрений. Ну и юнит-тесты, конечно же =)
Ну не надо в логи пихать все подряд. Если юзеров много, то у одного программа может в логи записывать одни действия, у другого другие. Вам в момент краша главное логи поймать, а там видно будет куда рыть или наоборот не рыть.