Depurando erros core.*
Algumas vezes quando processos no SO Linux causam erro eles geram um arquivo com nome core.nnnn onde “n” é uma identificação numérica. Estes arquivos podem ser úteis para depuração de erros e identificação do motivo, mas eles são binários e não podemos simplesmente acessá-los com um editor de texto pra verificar o conteúdo.
Pra isso precisamos de um cara chamado GDB: The GNU Project Debugger
Com ele também é possível executar alguma tarefa e forçar que um core seja gerado, pra verificação posterior ou caso o processo apresente erro e não gere o arquivo core nem nenhuma outra informação.
Você pode instalá-lo pelo yum:
yum install gdb
Acesse a pasta onde o arquivo core se encontra. Ao executar o comando gdb no shell você acessará seu “prompt”. Depois basta executar o comando core core.nnnn.
Abaixo temos um exemplo do resultado obtido:
[root@servidor /]# gdb GNU gdb Fedora (6.8-27.el5) Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". (gdb) core core.27445 Core was generated by `/usr/bin/php'. Program terminated with signal 11, Segmentation fault. [New process 27445] #0 0x00000031b2a78d80 in ?? () (gdb) quit [root@servidor /]#
Erro gerado pelo PHP que não trazia detalhes nos logs de erro.
Para sair execute o comando quit.
O erro “Segmentation fault” indicava uma falha de memória e nesse caso a reinstalação do PHP foi a solução para o problema.
Deixe um comentário