débugger un core dump avec gdb
gdb reste un bon outil dans son genre. La preuve avec l'option -c pour "core" (comme dans core dump).
Depuis la première installation d'OpenSolaris il y a quelques mois, j'avais régulièrement un "core dump" à chaque démarrage. Pas grand-chose, quelques megas. Mais là, depuis la dernière mise à jour et quelques packages additionnels, je me trouve avec plusieurs dizaines de mégas. D'où cela vient-il ?
On appelle donc à la rescousse gdb, notamment avec une option très pratique pour de premiers travaux d'investigation, à savoir : -c. Ce qui nous donne :
drzz@hanouka:~$ ls -al | grep core -rw------- 1 mobass staff 71570986 2009-03-24 14:13 core drzz@hanouka:~$ gdb -c core GNU gdb 6.3.50_2004-11-23-cvs Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-pc-solaris2.11". Core was generated by `python /usr/bin/codeina.bin -u --sleep 5'. Program terminated with signal 4, Illegal instruction. #0 0xccb4fb17 in ?? () (gdb)
Avec ça, on en a assez pour savoir qui incriminer et prendre les mesures nécessaires. Le seul problème, c'est que je n'ai pas de codeina.bin dans mon arborescence (sous /usr/bin). Avec un peu de recherche, je tombe sur ce lien lien et l'investigation va se poursuivre tranquillement. Je traque un suspect qui n'existe pas, mais qui me pose des problèmes... suspens...
tags : gdb, core dump, OpenSolaris, codeina
mis en ligne : Tue Mar 24 21:24:59 CET 2009