CentOSにcorosyncパッケージのデバッグシンボルをインストールする方法は?

CentOSにcorosyncパッケージのデバッグシンボルをインストールする方法は?

クラッシュが発生してcorosyncgdbで見たいです。ただし、現在のコアダンプにはあまりにも多くの情報しか表示されません。

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 ()

私の考えでは、デバッグ情報パッケージがcorosync何であれインストールする必要があるようですlibtotem_pg.so.4。どうすればいいですか?

答え1

通常、起動時にgdb必要なデバッグシンボルをインストールする方法を知らせるメッセージが表示されます。

たとえば、

# 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) 

プロンプトの前の最後の行を参照してください。

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

したがって、この場合、gdbではなくシェルで次のコマンドを実行してデバッグシンボルをインストールできます。

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

使用しているCentOSのバージョンが指定されていません。上記はCentOS 7の場合です。 CentOS 6でも同じように動作しますが、ライブラリのバージョンが異なるため、コマンドを切り取って貼り付けることはできません。

関連情報