Мы получаем, казалось бы, случайный AppCrash, где Windows фактически берет на себя процесс и закрывает его, предоставляя некоторый непонятный отчет об отладке, который включает в себя такие вещи, как NTDLL.dll, StackHash, User32.dll и т. Д. Исследование этих модулей и информации в отчетах более года дает немного больше информации, чем мы имели раньше. Лучшее, что нам удалось сделать, - это сузить ее до библиотеки DLL, которую наше приложение использует для взаимодействия с частью аппаратного обеспечения, которая взаимодействует через TCP / IP. У нас нет контроля над этой внешней библиотекой, мы должны ее использовать, и учитывая тот факт, что проблема является случайной (не может дублироваться с нашей стороны, решается при перезагрузке ПК), мы, похоже, застряли с ней.
Проблема в том, что наше приложение должно работать 24/7 на инструменте, который не контролируется человеком. Мне нужно определить, когда наше приложение дает сбой, и выполнить команду перезагрузки для всего этого. Проблема заключается в обнаружении AppCrash; Внутри приложения не генерируются исключения (AppCrash является внешним по отношению к приложению), и никакие журналы не генерируют никаких признаков закрытия программы.
Мы хотели бы запустить службу, которая проверяет, работает приложение или нет, и если нет, выдает команду перезагрузки для перезапуска системы. Однако, когда отображается диалог AppCrash, он оставляет процесс запущенным.
Есть ли способ либо предотвратить эти уведомления AppCrash, либо обойти их, либо настроить их как минимум на первое закрытие программы? Пожалуйста, не указатели на stackhash.com или использование отчетов об ошибках MS; эти устройства не поддерживают интернет. Мы также не можем исправить какую-либо ошибку в используемой нами DLL (поставщик OEM не работает).