我在 macOS Sequoia 15.0 上用 gcc 14.2.0 构建了一个普通的“Hello World”C 程序,并且运行完美。然而,当我尝试用
gdb
调试它时,它显示了错误消息Dwarf Error: DW_FORM_line_strp used without required section
。这个错误信息是什么意思?
这个错误信息是什么意思?
这意味着GDB找到了一个带有
DWARF
编码的DW_FORM_line_strp
信息条目,需要.debug_line_str
部分,但是GDB没有找到该部分。
来自标准:
如果表单代码是
、DW_FORM_line_strp
或DW_FORM_strp
,然后 字符串包含在 .debug_line_str、.debug_str 或补充中 分别是弦乐部分DW_FORM_strp_sup
最后,这意味着要么是 GCC 产生了不正确的调试信息,要么是 GDB 中存在错误。
最好报告这个 GDB bugzilla,但很少有 GDB 开发人员使用 MacOS,所以我不指望能快速修复。
可能的解决方法:使用
-gdwarf-4
进行编译。