警告:无法解析.gnu_debugdata节; 在编译时禁用了LZMA支持。

19

当我将核心转储文件加载到gdb中时,我会得到以下警告,看起来由于这个问题也有一些符号加载失败。

warning: Cannot parse .gnu_debugdata section; LZMA support was disabled at compile time

你有什么想法可以解决这个问题吗?

1个回答

24
警告:无法解析.gnu_debugdata部分;LZMA支持在编译时被禁用了。
GDB支持一种称为"mini debug info"的功能。该功能允许将完整调试信息的子集添加到生成文件的特殊部分中。像Fedora这样的一些Linux发行版使用它来提供部分调试信息,以便可以更轻松地“符号化”堆栈跟踪。
此部分使用LZMA压缩,因此必须构建带有LZMA支持的GDB才能读取该部分。
您的GDB未构建此支持,因此它通知您找到了一个.gnu_debugdata部分,但无法读取它。
通常这无关紧要。这可能意味着您会看到来自系统库的代码的稍差的堆栈跟踪。
解决方法是重新构建GDB,在运行configure之前确保安装了LZMA开发包。

谢谢Tom,我已经修复了那个问题。 - PMat
2
谢谢!对于想在Ubuntu(可能也适用于Debian)上进行此操作的任何人:请使用“apt install lzma-dev”命令安装。如果您已经有了构建树,请在重新构建之前删除所有config.cache文件。 - Chris
为确保 GDB 构建时具备 LZMA 支持,请在其 configure 调用中添加 --with-lzma。要安装 Fedora/CentOS/RockyLinux/RHEL 所需的软件包,请执行 yum install xz-devel - Simon Sobisch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接