Как пользователи Linux / Unix, мы часто сталкиваемся с проблемами. И после долгих часов решения проблем мы развиваем навык отладки.
Теперь, каковы хорошие принципы, методы или лучшие практики при попытке отладить общие проблемы Unix?
Какие инструменты я должен иметь как обычный пользователь, чтобы облегчить поиск причины проблем?
debugging
troubleshooting
Стефан
источник
источник
Ответы:
Методы будут зависеть от типа проблемы.
В целом, « Как правильно задавать вопросы » Эрика С. Рэймонда и Рика Моена иногда является полезным советом, чтобы сосредоточиться на проблеме и проверить, задумывались ли вы о важных частях проблемы.
Ваш первый источник информации во время отладки - это файлы журналов, которые пишет ваша система / приложение. Общее место для них - ваш терминал или файл в
/var/log/
. Многие приложения поддерживают разные типы уровней журналов, которые следует увеличивать, если вы не можете найти никаких полезных сообщений. Часто есть-v
подробный переключатель, чтобы получить больше сообщений.Все еще ничего полезного? Проверьте ваши файлы конфигурации, права доступа к файлам, необходимым для приложения, и, возможно, вам придется, например, изменить конфигурацию вашего системного журнала
/etc/syslog-ng.conf
.Если у вас появляется сообщение об ошибке, поиск в Google часто приводит к появлению записей на доске объявлений или публикаций usenet, в которых обсуждаются проблемы, стоящие за ним. Вполне вероятно, что вы можете найти решение там. Список рассылки пользователей проекта, доски объявлений и IRC-каналы также могут быть очень полезны.
Иногда приложения вылетают без каких-либо сообщений. Отличный инструмент для обнаружения потока приложений, кроме чтения и изменения кода
strace
.Этот инструмент будет отслеживать системные вызовы и сигналы. Когда приложение обнаруживает ошибки, вы все равно можете обнаружить проблемы в systrace.
Другим подходом будет отладка приложения с помощью
gdb
. Вы должны быть опытным пользователем и знать, что делать, чтобы использовать это.источник
Если вам нужен единый общий принцип отладки, это будет так: поймите, как работает система, насколько это возможно. Понять каждый компонент системы и режимы отказов каждого компонента. Знайте, какие компоненты вы недавно изменили, и какие компоненты могли измениться или дать сбой самостоятельно.
Если вы искали конкретику, то в ответе echox много полезной информации.
источник
Дэвид Аганс написал , на мой взгляд, очень хорошую книгу об отладке . Он также содержал ряд рекомендаций по отладке .
Вдобавок ко всему, общие (предметные) знания и опыт очень помогают в понимании моделей. Изучите, как все устроено, разберите их на части. Выполните текущее обслуживание. Проведите непонятные эксперименты. Читать читать читать. Сделай вещи. Пиши постоянно. Помогите другим людям с их проблемами. Выберите свои сражения. Сохраняй спокойствие. Улыбка. :)
источник