打开我在openSUSE上使用debuginfo包吗?

时间:2012-09-22 11:44:15

标签: debugging stack-trace opensuse

我的X服务器今天开始崩溃。当我查看日志文件时,我看到:

Backtrace:
0: /usr/bin/Xorg (xorg_backtrace+0x36) [0x564616]
1: /usr/bin/Xorg (0x400000+0x168349) [0x568349]
2: /lib64/libpthread.so.0 (0x7f1d1618b000+0xf140) [0x7f1d1619a140]

要将地址映射到函数/行号,我安装了包xorg-x11-server-debuginfo。它包含一个文件/usr/lib/debug/usr/bin/Xorg.debugfile(1)命令说:

/usr/lib/debug/usr/bin/Xorg.debug: 
ELF 64-bit LSB executable, x86-64, version 1 (SYSV), 
dynamically linked (uses shared libs), for GNU/Linux 2.6.32, 
BuildID[sha1]=0x08d976cf2aeb60105f32349bfce3297a72c8f96f,
not stripped

听起来很有希望。如何使用此文件中的调试符号找出X崩溃的位置?

1 个答案:

答案 0 :(得分:2)

您现在可以使用正确的调试符号,但是需要使用在gdb下运行的X重现崩溃,或者让X吐出核心转储并在gdb下加载它以使用它们。我认为默认的回溯打印方法(glibc backtrace_symbols())不知道如何使用外部调试符号。

此网页可能有所帮助:http://wiki.debian.org/XStrikeForce/XserverDebugging