Coredump.gz è la memoria (compressa) accessibile dal programma che si è bloccato. È un file binario. I coredumps sono un tesoro, con tutti i tipi di dati privati da estrarre.
Coredumps può essere visualizzato eseguendo 'gdb':
gdb --core=mycoredump
Ovviamente, avrai comunque bisogno dei pacchetti di debug associati a questo core.
È quindi possibile generare uno stacktrace:
(gdb) bt
per generare uno stacktrace del thread corrente, senza risoluzione dei parametri, oppure
(gdb) thread apply all bt full
per generare uno stacktrace di tutti i thread nel coredump, con risoluzione dei parametri.
stacktrace e stacktraces completi mostrano il flusso di controllo all'interno di un programma. Per Python, la parte superiore dello stacktrace mostra la chiamata più vecchia, con la più recente in fondo; praticamente per tutto il resto, la parte superiore è la chiamata più recente e quella inferiore la più vecchia.
Una stack stack completa mostrerà non solo il flusso, ma anche i valori del parametro. Qui di solito troviamo dati privati - ad esempio, supponiamo che tu veda una funzione chiamata "validatePassword" con un parametro chiamato "Password" e un valore di "MySecretPassword" ...
Stacktraces di solito sono utili solo se sono installati i pacchetti di debug (in modo che i frame dello stack possano essere risolti in qualcosa che possiamo facilmente leggere). L'analisi di uno stacktrace richiederà che si disponga dei sorgenti utilizzati per creare questa specifica istanza del programma.