Написал приложение на QT, которое читает и пишет в COM порт. Все нужные библиотеки положил. Приложение запускается, но при запуске функции чтения (запускается SetTimer, вызывающий мою функцию чтения) с СОМ порта падает без каких-либо сообщений. Просто появляется "windows ищет ошибку..." Функции отправки сообщений(через writefile) в порт работают корректно.
Но дело видимо не в самой работе с портом. На 2 компьютерах(windows 7 и 8) с установленной QT все работает. При запуске на компьютерах без QT программа падает.
Вопрос заключается в том, как выловить эту ошибку. Получить как-нибудь осмысленное сообщение, чтобы понять на чем спотыкается программа.
Или может кто-нибудь знает, что такого загружает QT при установке, чего может не хватать.
Сделал вывод получаемых данных в файл. Судя по выводу, функция чтения один раз отрабатывает корректно, запись полученного тоже работает. После вывода моего кода больше нет. Программа должна ожидать следующего вызова чтения по таймеру, но падает.
Отчет WER
Sig[3].Name=Имя модуля с ошибкой
Sig[3].Value=USER32.dll
Sig[4].Name=Версия модуля с ошибкой
Sig[4].Value=6.3.9600.17031
Sig[5].Name=Отметка времени модуля с ошибкой
Sig[5].Value=53086d13
Sig[6].Name=Смещение исключения
Sig[6].Value=00035eed
Sig[7].Name=Код исключения
Sig[7].Value=c0000409
Sig[8].Name=Данные исключения
Sig[8].Value=00000001
Сомневаюсь, что ошибка в user32. Версии файла одинаковы и на работающих компьютерах, и на тех, где падает. Вспомнил еще момент. При отладке не получалось просмотреть больше одного вызова чтения, после него вылезал SegFault. Но при "Запуск без отладки" все работало, поэтому забил. Может с этим связано.
Предотвращение выполнения данных уже отключал для экзешника.