На какой строке запускается программа с информацией обратного следа?

Есть моя обратная информация:

======= Backtrace: =========
/lib64/libc.so.6(+0x7bc07)[0x7f959bba4c07]
/lib64/libc.so.6(+0x7d23a)[0x7f959bba623a]
/lib64/libspice-server.so.1(+0x2108e)[0x7f959c8d508e]
/lib64/libspice-server.so.1(+0x227a3)[0x7f959c8d67a3]
/usr/libexec/qemu-kvm(qemu_iohandler_poll+0xc6)[0x7f95a10571e6]
/usr/libexec/qemu-kvm(main_loop_wait+0x188)[0x7f95a105b748]
/usr/libexec/qemu-kvm(main+0x1240)[0x7f95a0f7ce30]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7f959bb4aaf5]
/usr/libexec/qemu-kvm(+0xb2ced)[0x7f95a0f80ced]

Я создаю экземпляр kvm со специями, но он падает, и я получил это сообщение из журнала.

Теперь я хочу знать, на какой линии я сделал это сбой. Но нет таблицы ссылок с символами /lib64/libspice-server.so.1,

Я могу получить смещение адреса с +0x2108e, Есть ли какой-нибудь способ выяснить с помощью строки, что она вылетела?

Кстати, какой-нибудь учебник по отладке библиотеки?

Благодарю.

1 ответ

Есть ли какой-нибудь способ выяснить с помощью строки, что она потерпела крах?

Ваш libc.so.6 а также libspice-server.so.1 (по-видимому) полностью раздели.

Вы хотите установить debuginfo пакеты для обеих библиотек, а затем использовать addr2line чтобы преобразовать адреса в символ / файл / строку, вот так:

addr2line -fe /lib64/libc.so.6 0x7bc07 0x7d23a
Другие вопросы по тегам