Como usuários de Linux / Unix, encontramos problemas com frequência. E após longas horas de solução de problemas, desenvolvemos a habilidade de depurar.
Agora, quais são os bons princípios, métodos ou práticas recomendadas ao tentar depurar problemas gerais do unix?
Quais ferramentas devo ter, como usuário comum, para facilitar a localização da causa dos problemas?
debugging
troubleshooting
Stefan
fonte
fonte
Respostas:
Os métodos dependerão do tipo do problema.
Em geral, " Como fazer perguntas de maneira inteligente ", de Eric S. Raymond e Rick Moen, às vezes é um conselho útil para se concentrar no problema e verificar se você pensou em partes importantes do problema.
Sua primeira fonte de informações durante a depuração são os arquivos de log gravados pelo sistema / aplicativo. O lugar comum para eles é o seu terminal ou um arquivo
/var/log/
. Muitos aplicativos suportam diferentes tipos de níveis de log, que você deve aumentar se não conseguir encontrar nenhuma mensagem utilizável. Muitas vezes, há uma-v
opção detalhada para receber mais mensagens.Ainda nada utilizável? Verifique seus arquivos de configuração, permissões dos arquivos necessários ao aplicativo e talvez você precise alterar a configuração do log do sistema, por exemplo
/etc/syslog-ng.conf
.Se você tiver uma mensagem de erro, uma pesquisa no Google geralmente levará a entradas no painel de mensagens ou postagens da Usenet discutindo os problemas por trás dele. É provável que você encontre uma solução lá. Uma lista de discussão de usuários do projeto, quadros de mensagens e canais de IRC também pode ser muito útil.
Às vezes, os aplicativos travam sem nenhuma mensagem. É uma ótima ferramenta para descobrir o fluxo do aplicativo, além de ler e modificar o código
strace
.Essa ferramenta rastreará chamadas e sinais do sistema. Quando os erros são detectados pelo aplicativo, você ainda pode descobrir problemas no systrace.
Outra abordagem seria depurar o aplicativo
gdb
. Você deve ser um usuário avançado e saber o que fazer para usá-lo.fonte
Se você deseja um princípio geral único para depuração, seria o seguinte: Entenda como o sistema funciona, o máximo que puder. Entenda cada componente do sistema e os modos de falha de cada componente. Esteja ciente de quais componentes você mudou recentemente e quais componentes podem ter sido alterados ou falharam por conta própria.
Se você estava procurando detalhes específicos, a resposta da echox tem muitas informações boas.
fonte
David Agans escreveu um livro muito bom sobre depuração , na minha opinião. Ele também continha um conjunto de diretrizes para depuração .
Além disso, o conhecimento e a experiência gerais (de domínio) são uma grande ajuda para a visualização de padrões. Estude como as coisas são construídas, desmonte-as. Realize manutenção de rotina. Configure experimentos obscuros. Ler ler ler. Faça coisas. Escreva constantemente. Ajude outras pessoas com seus problemas. Escolha suas batalhas. Mantenha a calma. Sorriso. :)
fonte