1) what is core file.
É um arquivo que contém um dump principal. Certas terminações anormais do programa, como a execução de uma instrução ilegal, fazem com que um dump principal seja gerado por padrão.
2) where it is located.
Normalmente, é um arquivo chamado core
no diretório atual do processo que fez com que ele fosse gerado, mas em alguns sistemas operacionais como o Linux é possível reconfigurar isso para que seja salvo em um arquivo diferente , ou para que seja canalizado para um programa. Para o Linux, procura em /proc/sys/kernel/core_pattern
para encontrar o nome do arquivo no qual os dumps principais serão colocados.
3) what is the use of core fie.
Um dump principal pode ser carregado em um depurador como o gdb. Isso permite examinar o estado do programa exatamente como foi quando foi finalizado. Pode ser útil para o desenvolvedor determinar por que o programa falhou.
4) How to generate core files while compiling c programs.
Isso é uma questão estranha. Eu acho que a resposta é que, a fim de gerar um despejo de núcleo durante a compilação de programas C oyu teria que causar o compilador a falhar! Por exemplo, você pode encontrar e explorar um bug no compilador! Ou você poderia simplesmente enviar um SIGQUIT
pressionando Ctrl ^ que, por padrão, forçosamente encerra programas com um dump principal.
5) what is the difference between core file and core dump.
Eu acho que você poderia defini-lo como: um arquivo principal é um arquivo que contém um dump principal. Mas geralmente eu acho que a maioria das pessoas usaria os termos de forma intercambiável.