Анализ сбоев в Linux - PullRequest
       20

Анализ сбоев в Linux

9 голосов
/ 27 июля 2010

Каков наилучший способ анализа сбоев в Linux?

Мы рассчитываем собрать программное обеспечение и предоставить тестовую версию. Тестеры могут не помнить, как воспроизвести аварию, или авария может быть полностью прерывистой. У них также не будет среды разработки на своих машинах. Программное обеспечение написано на C / C ++ и скомпилировано в собственный машинный код для распространения.

Ответы [ 5 ]

7 голосов
/ 27 июля 2010

Если у вас есть место на диске, позвольте приложению создать свой coredump при сбое.

ulimit -c unlimited

Позже вы можете отладить его с помощью GDB.

6 голосов
/ 27 июля 2010
3 голосов
/ 27 июля 2010

Основные дампы полезны, но они не всегда сообщают вам все, что вы хотите знать о том, как вы оказались в состоянии ошибки.

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

Если возможно, вы должны создавать свои программы с максимальным количеством сгенерированных символов отладки, а затем удалять их, если вы не хотите или не можете позволить, чтобы их версии выпуска имели их, но сохраняйте копию каждой выпущенной версии с символами отладки, Вы можете соединиться с основным файлом, если вам нужно отладить сбой.

3 голосов
/ 27 июля 2010

Кроме того, как уже упоминалось, coredumping и stacktracing - убедитесь, что вы можете легко определить, какие версии ваших исполняемых файлов работают, и иметь возможность ответить, какая версия каждого исходного файла входит в какую двоичную версию (т. Е. Провести некоторое время с система контроля исходного кода и ваши сценарии сборки). В противном случае ни основной файл, ни трассировка стека не помогут.

1 голос
/ 27 июля 2010
...