【问题标题】:Which line the program running on with a backtrace info?带有回溯信息的程序在哪一行运行?
【发布时间】:2015-04-26 09:18:43
【问题描述】:

有我的回溯信息:

======= 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]

我用 spice 创建了一个 kvm 实例,但它崩溃了,我从日志中得到了这条消息。

现在,我想知道我是在哪一行让它崩溃的。但是没有/lib64/libspice-server.so.1的链接符号表。

我可以使用+0x2108e 获得地址偏移量。有什么方法可以用line找出它崩溃了吗?

顺便说一句,有调试库的教程吗?

谢谢。

【问题讨论】:

    标签: linux debugging elf


    【解决方案1】:

    有什么方法可以用line找出它崩溃了吗?

    您的 libc.so.6libspice-server.so.1 (显然)已完全剥离。

    您需要为这两个库安装debuginfo 包,然后使用addr2line 将地址转换为符号/文件/行,如下所示:

    addr2line -fe /lib64/libc.so.6 0x7bc07 0x7d23a
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      • 2011-11-19
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多