警告:无法解析.gnu_debugdata部分; LZMA支持在编译时被禁用

PMa*_*Mat 7 c++ gdb core gdbserver alpine-linux

当将核心转储文件加载到gdb中时,我收到以下警告,看起来加载某些符号也因此失败.

warning: Cannot parse .gnu_debugdata section; LZMA support was disabled at compile time
Run Code Online (Sandbox Code Playgroud)

知道如何解决这个问题吗?

Tom*_*mey 10

警告:无法解析.gnu_debugdata部分; LZMA支持在编译时被禁用

GDB支持称为"迷你调试信息"的功能.此功能允许将完整调试信息的子集添加到结果文件的特殊部分.一些Linux发行版,如Fedora,使用它来发送部分debuginfo,以便堆栈跟踪可以更容易"符号化".

此部分使用LZMA进行压缩,因此必须使用LZMA支持构建GDB才能读取该部分.

您的GDB不是使用此支持构建的,因此它会通知您它找到了一个.gnu_debugdata部分,但无法读取它.

通常这不用担心.这可能意味着您会看到来自系统库的代码的堆栈跟踪略差.

修复是重建GDB,确保在运行之前安装了LZMA开发包configure.

  • 谢谢!对于任何想在 ubuntu(也可能是 debian)上执行此操作的人:`apt install lzma-dev`。如果您已经有构建树,请在重建之前删除所有 config.cache 文件。 (2认同)