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
Não vou me extender muito, até porque não conheço muito o programa, mas 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 dê erro e não gere o core nem nenhuma outro 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.
| Imprimir artigo | Este artigo foi escrito por Thiago Voltolini em 25 de janeiro de 2010 às 20:47, e está arquivado em Destaques, Tutoriais. Siga quaisquer respostas a este artigo através do RSS 2.0. Você pode deixar uma resposta ou fazer um trackback do seu próprio site. |
