Quando um programa userland trava, ele pode deixar um arquivo core
para trás, contendo uma cópia do conteúdo da memória quando ela caiu (o nome core
vem da pré-história da computação, quando a memória foi core ). Isso é controlado pelo comando ulimit(1)
, normalmente é desativado porque os arquivos principais são grandes e tendem a confundir novatos. Um arquivo principal pode ser analisado por, e. um depurador, junto com o executável e a tabela de símbolos, para descobrir o que aconteceu.
Quando o kernel trava, ele normalmente ativa um pânico do kernel . Se o kernel encontrou alguma inconsistência crítica, não é sensato contar com isso para escrever alguma coisa. Portanto, nenhum núcleo é gerado e o sistema fica inativo. O conteúdo dos registradores e o código em torno do endereço em que o problema ocorreu é gravado no console. É uma boa ideia guardar isto (por exemplo, tirar uma foto) para possível análise posterior.
Uma situação semelhante é o kernel Oops , quando o kernel detecta uma inconsistência que não é considerada fatal. Nesse caso (como em um pânico do kernel), o conteúdo dos registros e do código em torno do endereço onde o problema ocorreu é gravado no console e também registrado.