Best practice per diagnosticare i problemi [chiuso]


8

Come utenti Linux / Unix, incontriamo spesso problemi. E dopo lunghe ore di risoluzione dei problemi, sviluppiamo l'abilità di debug.

Ora, quali sono i buoni principi, metodi o migliori pratiche quando si tenta di eseguire il debug di problemi generali di Unix?

Quali strumenti dovrei avere, come utente medio, per facilitare la ricerca della causa dei problemi?


3
Come chiesto, questo è terribilmente generale. Suggerisco di limitare specifici tipi di problemi (ad es. Impossibile accedere, un'applicazione non si avvia, ecc.). Poni diverse domande se vuoi. E dovrebbero probabilmente essere wiki della community.
Gilles 'SO- smetti di essere malvagio'

Prima regola: hai registri, guardali!
Shadok,

Risposte:


8

I metodi dipenderanno dal tipo di problema.

In generale, " Come porre domande in modo intelligente " di Eric S. Raymond e Rick Moen è talvolta un consiglio utile per concentrarsi sul problema e verificare se si è pensato a parti importanti del problema.

La prima fonte di informazioni durante il debug sono i file di registro scritti dal sistema / dall'applicazione. Il luogo comune per loro è il tuo terminale o un file in /var/log/. Molte applicazioni supportano diversi tipi di livelli di Google che dovresti aumentare se non riesci a trovare alcun messaggio utilizzabile. Spesso c'è un -vinterruttore dettagliato per ottenere più messaggi.

Ancora niente utilizzabile? Controlla i tuoi file di configurazione, i permessi dei file richiesti dall'applicazione e forse devi cambiare la configurazione del tuo systemlogger, per esempio /etc/syslog-ng.conf.

Se hai un messaggio di errore, una ricerca su Google porterà spesso a voci della bacheca o post su usenet che discutono dei problemi dietro di esso. È probabile che tu possa trovare una soluzione lì. Anche una mailing list, bacheche di messaggi e canali IRC di un progetto possono essere molto utili.

A volte le applicazioni si bloccano senza messaggi. È un ottimo strumento per scoprire il flusso dell'applicazione, oltre a leggere e modificare il codice strace.

Questo strumento traccia le chiamate e i segnali di sistema. Quando vengono rilevati errori dall'applicazione, è ancora possibile rilevare i problemi nel sistema.

Un altro approccio sarebbe il debug dell'applicazione con gdb. Dovresti essere un utente avanzato e sapere cosa fare per usarlo.


3

Se si desidera un unico principio generale per il debug, sarebbe questo: capire come funziona il sistema, per quanto è possibile. Comprendere ogni componente del sistema e le modalità di errore di ciascun componente. Tenere presente quali componenti sono stati modificati di recente e quali componenti potrebbero essere stati modificati o non funzionanti da soli.

Se stavi cercando dettagli, la risposta di echox ha molte buone informazioni.


2

David Agans ha scritto un libro molto carino sul debug , secondo me. Inoltre conteneva una serie di linee guida per il debug .

Inoltre, la conoscenza e l'esperienza generale (di dominio) sono di grande aiuto nel vedere i modelli. Studia come sono costruite le cose, separale. Eseguire la manutenzione ordinaria. Prepara esperimenti oscuri. Leggi leggi leggi. Fai cose. Scrivi costantemente. Aiuta altre persone a risolvere i loro problemi. Scegli le tue battaglie. Stai calmo. Sorridi. :)


I collegamenti sono interrotti. per favore considera di aggiornarli.
mk ..
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.