“矮人错误:DW_FORM_line_strp 在没有必需部分的情况下使用”是什么意思?

问题描述 投票:0回答:1

我在 macOS Sequoia 15.0 上用 gcc 14.2.0 构建了一个普通的“Hello World”C 程序,并且运行完美。然而,当我尝试用

gdb
调试它时,它显示了错误消息
Dwarf Error: DW_FORM_line_strp used without required section
。这个错误信息是什么意思?

error message

macos debugging gcc gdb macos-sequoia
1个回答
0
投票

这个错误信息是什么意思?

这意味着GDB找到了一个带有

DWARF
编码的
DW_FORM_line_strp
信息条目,需要
.debug_line_str
部分,但是GDB没有找到该部分。

来自标准

如果表单代码是

DW_FORM_line_strp
DW_FORM_strp
DW_FORM_strp_sup
,然后 字符串包含在 .debug_line_str、.debug_str 或补充中 分别是弦乐部分

最后,这意味着要么是 GCC 产生了不正确的调试信息,要么是 GDB 中存在错误。

最好报告这个 GDB bugzilla,但很少有 GDB 开发人员使用 MacOS,所以我不指望能快速修复。

可能的解决方法:使用

-gdwarf-4
进行编译。

© www.soinside.com 2019 - 2024. All rights reserved.