Debugging 需要帮助了解DW_在_范围内的值吗
以下所有信息均通过dwarfdump获得 我有以下代码(其中一个显示了对内联函数foo的调用): 这告诉我函数Debugging 需要帮助了解DW_在_范围内的值吗,debugging,gdb,elf,icc,dwarf,Debugging,Gdb,Elf,Icc,Dwarf,以下所有信息均通过dwarfdump获得 我有以下代码(其中一个显示了对内联函数foo的调用): 这告诉我函数foo是在文件.C的第154行调用的,这是正确的。foo有两个条目(不确定为什么一个是内联的,另一个不是)。它们是: 0x00040817: DW_TAG_subprogram DW_AT_decl_line (172) DW_AT_decl_file ("file.C") DW_AT_d
foo
是在文件.C的第154行调用的,这是正确的。foo
有两个条目(不确定为什么一个是内联的,另一个不是)。它们是:
0x00040817: DW_TAG_subprogram
DW_AT_decl_line (172)
DW_AT_decl_file ("file.C")
DW_AT_declaration (0x01)
DW_AT_name ("foo")
DW_AT_MIPS_linkage_name ("foo")
DW_AT_external (0x01)
DW_AT_inline (DW_INL_declared_inlined)
及
实际上,foo
是在第172行的file.C
中定义的。此函数的第一行是174。如果我查看第174行的debug_line部分(通过objdump--dwarf=decodedline)和grep,我会得到以下结果:
file.C 174 0x4ffaf7
file.C 174 0x4ffbb7
file.C 174 0x4ffc77
file.C 174 0x1fa72f7
file.C 174 0x1fa73b7
file.C 174 0x1fa7477
file.C 174 0xa04897
file.C 174 0xa04957
file.C 174 0xa04a17
file.C 174 0x52e6d7
file.C 174 0x52e797
file.C 174 0x52e857
我希望在ranges值中至少看到其中一个地址。我不确定是什么错,如果有一些额外的算术我必须做,使这有意义。任何帮助都将不胜感激
0x00040deb: DW_TAG_subprogram
DW_AT_decl_line (172)
DW_AT_decl_file ("file.C")
DW_AT_declaration (0x01)
DW_AT_MIPS_linkage_name ("foo")
DW_AT_name ("foo")
DW_AT_external (0x01)
file.C 174 0x4ffaf7
file.C 174 0x4ffbb7
file.C 174 0x4ffc77
file.C 174 0x1fa72f7
file.C 174 0x1fa73b7
file.C 174 0x1fa7477
file.C 174 0xa04897
file.C 174 0xa04957
file.C 174 0xa04a17
file.C 174 0x52e6d7
file.C 174 0x52e797
file.C 174 0x52e857