O que é um Core Dump?

Um dump principal é um registro do conteúdo da memória de um computador quando ocorreu um erro grave. Pode incluir toda a memória do sistema ou apenas a parte que estava em uso pelo programa que falhou. Também pode incluir outros dados relevantes, como o estado do processador, registrar o conteúdo e informações sobre os processos em execução. Os engenheiros de software costumam usar dumps principais com depuradores e outros utilitários para analisar e corrigir erros do computador. Um dump principal também pode ser usado para transferir um processo de trabalho de um processador para outro durante a operação normal.

O termo "core dump" provavelmente se originou na década de 1960, quando os computadores antigos usavam a memória magnética do núcleo. Quando um programa em execução travava, todos os dados em todo o núcleo eram impressos em papel para ajudar na depuração. Essas impressões geralmente consistiam em pouco mais que endereços e dados de memória em notação octal ou hexadecimal. À medida que as tecnologias de armazenamento melhoravam, os dumps do núcleo podiam ser salvos em disco, fita magnética removível ou cartões de memória não voláteis. Maior capacidade de armazenamento de informações de estado, juntamente com os avanços na depuração de software, tornaram o diagnóstico de erros mais eficiente.

As causas típicas dos despejos principais são aplicativos ou software de sistema mal escritos. Muitas vezes, o código do programa assume que ponteiros e índices de matriz sempre fazem referência a estruturas de dados válidas. Se qualquer um deles tiver ultrapassado os limites de suas estruturas originais, por exemplo, um dump principal poderá ocorrer. Problemas ao acessar arquivos de dados em um dispositivo de armazenamento ou ao ler dados corrompidos também podem causar um dump principal. Problemas de hardware, incluindo memória com defeito, discos rígidos ou processadores, também podem acioná-los.

Geralmente, existem dois tipos de core dumps. Um tipo é o local em que o processo ou aplicativo aplicativo em execução é finalizado e o controle retorna ao sistema operacional. Nesse caso, o restante do sistema continua funcionando normalmente, pois apenas o programa incorreto foi interrompido. Geralmente, é gerado um arquivo de despejo de núcleo grande que pode ser carregado em um depurador. Se o erro ocorreu em um programa para o qual os símbolos e o código-fonte estão disponíveis, eles também podem ser carregados no depurador.

O outro tipo mais sério de core dump também é chamado de pânico do kernel. Esse tipo de despejo interrompe todo o sistema, a fim de evitar mais complicações e corrupção de dados. Nos sistemas Microsoft Windows®, esse tipo de despejo geralmente ocorre na forma muito familiar de uma "tela azul da morte". Pânico como esse geralmente é mais difícil de depurar e geralmente é causado por problemas de hardware ou no nível do sistema. Isso pode ocorrer antes que o sistema termine a inicialização quando houver pouca informação disponível sobre a causa real.

OUTRAS LÍNGUAS

Este artigo foi útil? Obrigado pelo feedback Obrigado pelo feedback

Como podemos ajudar? Como podemos ajudar?