#debugging #crash
#отладка #сбой
Вопрос:
Я сталкиваюсь с проблемой сбоя устаревшего программного обеспечения. Он написан на C, работает в операционной системе SCOS, для которой у меня нет исходного кода, только двоичные файлы ОС. Для этой ОС также нет IDE.
Какой может быть наилучший подход для диагностики причины сбоя, который происходит недетерминированно, происходит через 3-4 дня. Какие наилучшие инструменты доступны для этой цели?
Комментарии:
1. У вас есть исходный код для устаревшего программного обеспечения?
2. Я могу думать о таких вещах, как переполнение чисел / буфера, условия гонки и повреждения памяти (отсутствие проверки ошибок тоже). Запуск приложения в отладчике может дать больше информации о проблеме. Не знаком с SCOS.
3. Да, у меня есть исходный код для приложения.
4. Приложение работает в режиме 7/24, взаимодействует с датчиками varios, получает от них входные данные и генерирует выходные данные для некоторых других устройств по шине CAN. Проблему так сложно повторить в лаборатории. Это может быть связано с драйвером, операционной системой или пользовательским кодом. Было бы полезно применить статическую проверку к пользовательскому коду?
5. Можете ли вы получить дамп ядра при сбое?