Prática recomendada para diagnosticar problemas [fechada]

7

Como usuários de Linux / Unix, nos deparamos com problemas frequentemente. E depois de longas horas de solução de problemas, desenvolvemos a habilidade de depurar.

Agora, quais são os bons princípios, métodos ou melhores práticas ao tentar depurar problemas gerais do unix?

Quais ferramentas eu deveria ter, como um usuário comum, para facilitar a localização da causa dos problemas?

    
por Stefan 02.10.2010 / 09:09

3 respostas

8

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ção durante a depuração são os arquivos de registro gravados pelo seu sistema / aplicativo. O lugar comum para eles é o seu terminal ou um arquivo em /var/log/ . Muitos aplicativos suportam diferentes tipos de loglevels que você deve aumentar se não conseguir encontrar nenhuma mensagem utilizável. Frequentemente, há uma opção -v verbose para obter mais mensagens.

Ainda nada utilizável? Verifique seus arquivos de configuração, permissões dos arquivos necessários pelo aplicativo e talvez você precise alterar a configuração do seu systemlogger, por exemplo /etc/syslog-ng.conf .

Se você tiver uma mensagem de erro, uma pesquisa no Google geralmente levará a mensagens no painel de mensagens ou postagens da usenet que discutem os problemas por trás dela. É 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 podem ser muito úteis.

Às vezes, os aplicativos falham sem nenhuma mensagem. Uma ótima ferramenta para descobrir o fluxo do aplicativo, além de ler e modificar o código, é strace .

Esta ferramenta irá rastrear chamadas e sinais do sistema. Quando erros são capturados pelo aplicativo, você ainda pode descobrir problemas no systrace.

Outra abordagem seria depurar o aplicativo com gdb . Você deve ser um usuário avançado e saber o que fazer para usar isso.

    
por 02.10.2010 / 12:40
3

Se você quiser um único princípio geral 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ê alterou recentemente e quais componentes podem ter sido alterados ou falhados por conta própria.

Se você estava procurando por informações específicas, a resposta da echox tem muita informação boa.

    
por 02.10.2010 / 17:52
1

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 geral (domínio) são uma grande ajuda na visualização de padrões. Estude como as coisas são construídas, desmonte-as. Execute a 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. :)

    
por 20.03.2012 / 11:35