диагностика сбоев

#debugging #crash

#отладка #сбой

Вопрос:

Я сталкиваюсь с проблемой сбоя устаревшего программного обеспечения. Он написан на C, работает в операционной системе SCOS, для которой у меня нет исходного кода, только двоичные файлы ОС. Для этой ОС также нет IDE.

Какой может быть наилучший подход для диагностики причины сбоя, который происходит недетерминированно, происходит через 3-4 дня. Какие наилучшие инструменты доступны для этой цели?

Комментарии:

1. У вас есть исходный код для устаревшего программного обеспечения?

2. Я могу думать о таких вещах, как переполнение чисел / буфера, условия гонки и повреждения памяти (отсутствие проверки ошибок тоже). Запуск приложения в отладчике может дать больше информации о проблеме. Не знаком с SCOS.

3. Да, у меня есть исходный код для приложения.

4. Приложение работает в режиме 7/24, взаимодействует с датчиками varios, получает от них входные данные и генерирует выходные данные для некоторых других устройств по шине CAN. Проблему так сложно повторить в лаборатории. Это может быть связано с драйвером, операционной системой или пользовательским кодом. Было бы полезно применить статическую проверку к пользовательскому коду?

5. Можете ли вы получить дамп ядра при сбое?