Che cos'è un core dump?

Un dump principale è una registrazione del contenuto della memoria di un computer quando si è verificato un errore grave. Può includere l'intera memoria di sistema o solo la parte utilizzata dal programma che non è riuscita. Può anche includere altri dati rilevanti come lo stato del processore, i contenuti del registro e le informazioni sui processi in esecuzione. Gli ingegneri del software utilizzano spesso core dump con debugger e altre utilità per analizzare e correggere errori del computer. Un dump core può anche essere utilizzato per trasferire un processo di lavoro da un processore a un altro durante il normale funzionamento.

Il termine "core dump" probabilmente ebbe origine negli anni '60, quando i primi computer utilizzavano la memoria del nucleo magnetico. Quando un programma in esecuzione si è bloccato, tutti i dati nell'intero core sono stati stampati su carta per facilitare il debug. Queste stampe di solito consistevano in poco più di indirizzi di memoria e dati in notazione ottale o esadecimale. Man mano che le tecnologie di archiviazione miglioravano, i dump core potevano essere salvati su disco, nastro magnetico rimovibile o memory stick non volatili. Una maggiore capacità di archiviazione per le informazioni sullo stato insieme ai progressi nel debug del software hanno reso più efficiente la diagnosi degli errori.

Le cause tipiche dei core dump sono applicazioni scritte male o software di sistema. Molto spesso, il codice del programma presuppone che i puntatori e gli indici di array facciano sempre riferimento a strutture di dati valide. Se uno di questi si è spostato oltre i limiti delle strutture originali, ad esempio, potrebbe verificarsi un dump del core. Problemi di accesso ai file di dati su un dispositivo di archiviazione o lettura di dati danneggiati possono causare anche un dump principale. Possono anche innescare problemi hardware, tra cui memoria malfunzionante, dischi rigidi o processori.

Esistono generalmente due tipi di core dump. Un tipo è dove viene terminato il processo in esecuzione o il programma applicativo e il controllo ritorna al sistema operativo. In questo caso, il resto del sistema continua a funzionare normalmente poiché è stato arrestato solo il programma incriminato. Generalmente viene generato un file di dump core di grandi dimensioni che può quindi essere caricato in un debugger. Se l'errore si è verificato in un programma per il quale sono disponibili i simboli e il codice sorgente, questi possono essere caricati anche nel debugger.

L'altro tipo più grave di core dump è anche chiamato panico del kernel. Questo tipo di dump arresta l'intero sistema nelle sue tracce al fine di prevenire ulteriori complicazioni e corruzione dei dati. Sui sistemi Microsoft Windows®, questo tipo di discarica di solito si presenta nella forma fin troppo familiare di una "schermata blu della morte". I panici come questi sono solitamente più difficili da eseguire il debug e sono spesso causati da problemi hardware o di sistema. Questi possono verificarsi prima che il sistema abbia terminato l'avvio quando sono disponibili poche informazioni sulla causa effettiva.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?