拿do_stuff函数来说: 函数对应的TAG名是DW_TAG_subprogram, DW_AT_external表示函数是个全局的,局部函数没有找个属性 DW_AT_name表示函数名字是do_stuff DWAT_AT_TYPE指定了函数的返回值类型,void没有返回值的函数没有找个属性 DW_AT_low_pc指定了函数代码的起始地址, 0x1000043c DW_AT_high_pc表示函数代码的结束地址, 0x100004bc DW_AT_frame_base指定了函数帧位置,0x0 location list表示需要到.debug_loc里根据偏移0x0查找 Contents of the .debug_loc section: Offset Begin End Expression 00000000 1000043c 10000440 (DW_OP_breg1: 0) 00000000 10000440 10000450 (DW_OP_breg1: 48) 00000000 10000450 100004b4 (DW_OP_breg31: 48) 00000000 100004b4 100004b8 (DW_OP_breg11: 0) 00000000 100004b8 100004bc (DW_OP_breg1: 0) 00000000 <End of list> 表示