0

みんな。

コアファイルとgdbを使用してcephの問題を修正しようとしています。次の出力によると、gdb は ceph-debuginfo からデバッグ シンボルを正常にロードしているはずです。

Reading symbols from /usr/bin/ceph-osd...Reading symbols from /usr/lib/debug/usr/bin/ceph-osd.debug...done.

ただし、「bt」を使用してスタックをトレースすると、シンボル テーブルが見つかりませんでした。

#0  0x000000393da0f65b in ?? ()
No symbol table info available.
#1  0x0000000000a51636 in install_standard_sighandlers () at global/signal_handler.cc:121
No locals.
#2  0x00007fc7a77f9ed0 in ?? ()
No symbol table info available.
#3  0x00007fc7a77f9e10 in ?? ()
No symbol table info available.
#4  0x00007fc7a77f9b90 in ?? ()
No symbol table info available.
#5  0x00007fc66d3142e0 in ?? ()
No symbol table info available.
#6  0x00007fc7fac64100 in ?? ()
No symbol table info available.
#7  0x0000003900000000 in ?? ()
No symbol table info available.
#8  0x0000000000a51155 in SignalHandler::unregister_handler (this=0x1105440, signum=<value optimized out>, handler=<value optimized out>) at global/signal_handler.cc:317
No locals.
#9  0x000000393eabcc33 in ?? ()
No symbol table info available.
#10 0x000000393eabcd2e in ?? ()
No symbol table info available.

なぜこうなった?

PS: gdb の実行を開始すると、次の警告が表示されました。

BFD: Warning: /home/xuxuehan/online_problems.2016-11-19.7-01/core-ceph-osd-6-32337-32337-19906-1479510049 is truncated: expected core file size >= 8372899840, found: 7439335424

これがgdbがシンボルテーブルを見つけられない原因でしょうか?

4

1 に答える 1

1

これは、共有ライブラリのシンボルである可能性があります。

発売:

 ldd your_binary

使用している共有オブジェクトを確認します。次に、この so のデバッグ シンボルをダウンロードします。

于 2016-11-19T11:21:22.607 に答える