Como instalar símbolos de depuração para o pacote corosync no CentOS?

0

Recebi uma falha em corosync , que gostaria de ver no gdb. No entanto, atualmente o despejo principal me mostra apenas essa informação

Debug logs for core.1385 (Generated on Jul 26 10:17 BST)

[Thread debugging using libthread_db enabled]
Core was generated by 'corosync -f'.
Program terminated with signal 6, Aborted.
#0 0x00007f68b2783495 in raise () from /lib64/libc.so.6
#0 0x00007f68b2783495 in raise () from /lib64/libc.so.6
#1 0x00007f68b2784c75 in abort () from /lib64/libc.so.6
#2 0x00007f68b277c60e in __assert_fail_base () from /lib64/libc.so.6
#3 0x00007f68b277c6d0 in __assert_fail () from /lib64/libc.so.6
#4 0x00007f68b3530f2c in ?? () from /usr/lib64/libtotem_pg.so.4
#5 0x00007f68b3534eaf in ?? () from /usr/lib64/libtotem_pg.so.4
#6 0x00007f68b3535259 in ?? () from /usr/lib64/libtotem_pg.so.4
#7 0x00007f68b352f108 in rrp_deliver_fn () from /usr/lib64/libtotem_pg.so.4
#8 0x00007f68b352be2a in ?? () from /usr/lib64/libtotem_pg.so.4
#9 0x00007f68b3524482 in poll_run () from /usr/lib64/libtotem_pg.so.4
#10 0x00000000004079b6 in main ()

Acho que preciso instalar os pacotes de informações de depuração para corosync e o que for libtotem_pg.so.4 . Como fazer isso?

    
por Serge Rogatch 26.07.2018 / 18:05

1 resposta

1

Normalmente, quando você inicia o gdb , ele exibe uma mensagem que informa como instalar os símbolos de depuração necessários.

Por exemplo:

# gdb /usr/sbin/corosync
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-110.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
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:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/sbin/corosync...Reading symbols from /usr/sbin/corosync...(no debugging symbols found)...done.
(no debugging symbols found)...done.
Missing separate debuginfos, use: debuginfo-install corosync-2.4.3-2.el7_5.1.x86_64
(gdb) 

Veja a última linha antes do aviso:

Missing separate debuginfos, use: debuginfo-install corosync-2.4.3-2.el7_5.1.x86_64

Então, neste caso, você pode instalar os símbolos de depuração executando o seguinte no shell (não no gdb):

debuginfo-install corosync-2.4.3-2.el7_5.1.x86_64

Você não especificou a versão do CentOS que você usa. O acima é para o CentOS 7. Ele funciona da mesma forma no CentOS 6, mas você não pode cortar o comando "colar" porque a versão da biblioteca é diferente.

    
por 26.07.2018 / 18:59