Portál AbcLinuxu, 7. května 2025 20:11
gdb binarka coredump
vypíše warning: Can't read pathname for load map.
Pokud ale zkusím na bežícím procesu gcore pid
a zkusím načíst je vše ok. Tedy správné symboly, všechno vidím přeložené. Tedy debuginfo balíky sedí apod.
Když zkusím shodit proces shodit třeba přes SIGSEGV tak opět vzniklé core při načítání hlásí chybu a nic nevidím.
V čem může být problém že pro core vzniklé při pádu nenačte správně symboly, přitom pro bežící proces ano? Google mi moc nepomohl, při dotazech na gdb IRC skupinu buď nikdo neodpoví nebo odpoví že neví.
gdb /plna/ceska/k/binarce
třeba prvně i bez toho coredumpu
[root@vmffr09 ~]# gdb /usr/sbin/asterisk GNU gdb (GDB) Red Hat Enterprise Linux (7.2-83.el6) Copyright (C) 2010 Free Software Foundation, Inc. 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". For bug reporting instructions, please see: Reading symbols from /usr/sbin/asterisk...Reading symbols from /usr/lib/debug/usr/sbin/asterisk.debug...done. done. (gdb)kdybych to chtěl debugovat za běhu není problém. Není problém ani s debugem core, které vznikne z
gcore pid
běžícího procesu. Jenom prostě při načtení core co vznikne při pádu nebo simulaci pádu pomocí třeba kill -SIGSEGV pid.
set solib-search-path na /usr/lib64
na tom nic nemění. V příloze gdbast_gcore_running.txt je výpis z načtení core, získaného z bežícího procesu pomocí gcore pid
. Spouštím gdb /usr/sbin/asterisk
potom core-file coresoubor
Tady je to ok.
V příloze gdbast_gcore_crashed.txt je ten samý postup, akorát načtu core vytvořené při pádu či při "simulaci pádu" pomocí kill -SIGSEGV pid
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.