dwarf

xiaoxiao2021-02-28  101

A location expression is stored in a block of contiguous bytes. The bytes form a set of operations. Each location operation has a 1-byte code that identifies that operation. Operations can be followed by one or more bytes of additional data. All operations in a location expression are concatenated from left to right. The encodings for the operations in a location expression are described in Figures 22 and 23. Operation  Code No. of Operands Notes DW_OP_addr  0x03 1 constant address (size target specific) DW_OP_deref  0x06 0 DW_OP_const1u  0x08 1 1-byte constant DW_OP_const1s  0x09 1 1-byte constant DW_OP_const2u  0x0a 1 2-byte constant DW_OP_const2s  0x0b 1 2-byte constant DW_OP_const4u  0x0c 1 4-byte constant DW_OP_const4s  0x0d 1 4-byte constant DW_OP_const8u  0x0e 1 8-byte constant DW_OP_const8s  0x0f 1 8-byte constant DW_OP_constu  0x10 1 ULEB128 constant DW_OP_consts  0x11 1 SLEB128 constant DW_OP_dup  0x12 0 DW_OP_drop  0x13 0 DW_OP_over  0x14 0 DW_OP_pick  0x15 1 1-byte stack index DW_OP_swap  0x16 0 DW_OP_rot  0x17 0 DW_OP_xderef  0x18 0 DW_OP_abs  0x19 0 DW_OP_and  0x1a 0 DW_OP_div  0x1b 0 DW_OP_minus  0x1c 0 DW_OP_mod  0x1d 0 DW_OP_mul  0x1e 0 DW_OP_neg  0x1f 0 DW_OP_not  0x20 0 DW_OP_or  0x21 0 DW_OP_plus  0x22 0 DW_OP_plus_uconst  0x23 1 ULEB128 addend DW_OP_shl  0x24 0 DW_OP_shr  0x25 0 DW_OP_shra  0x26 0 Figure 22. Location operation encodings, part 1 Revision: 2.0.0 Page 103 July 27, 1993 Industry Review Draft DWARF Debugging Information Format Operation  Code No. of Operands Notes DW_OP_xor  0x27 0 DW_OP_skip  0x2f 1 signed 2-byte constant DW_OP_bra  0x28 1 signed 2-byte constant DW_OP_eq  0x29 0 DW_OP_ge  0x2a 0 DW_OP_gt  0x2b 0 DW_OP_le  0x2c 0 DW_OP_lt  0x2d 0 DW_OP_ne  0x2e 0 DW_OP_lit0  0x30 0 literals 0..31 = (DW_OP_LIT0|literal) DW_OP_lit1  0x31 0 ... DW_OP_lit31  0x4f 0 DW_OP_reg0  0x50 0 reg 0..31 = (DW_OP_REG0|regnum) DW_OP_reg1  0x51 0 ... DW_OP_reg31  0x6f 0 DW_OP_breg0  0x70 1 SLEB128 offset DW_OP_breg1  0x71 1 base reg 0..31 = (DW_OP_BREG0|regnum) ... DW_OP_breg31  0x8f 1 DW_OP_regx  0x90 1 ULEB128 register DW_OP_fbreg  0x91 1 SLEB128 offset DW_OP_bregx  0x92 2 ULEB128 register followed by SLEB128 offset DW_OP_piece  0x93 1 ULEB128 size of piece addressed DW_OP_deref_size  0x94 1 1-byte size of data retrieved DW_OP_xderef_size  0x95 1 1-byte size of data retrieved DW_OP_nop  0x96 0 DW_OP_lo_user  0xe0 DW_OP_hi_user  0xff Figure 23. Location operation encodings, part 2 7.7.2 Location Lists Each entry in a location list consists of two relative addresses followed by a 2-byte length, followed by a block of contiguous bytes. The length specifies the number of bytes in the block that follows. The two addresses are the same size as used by DW_FORM_addr on the target machine. <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script> 阅读(216) | 评论(0) | 转发(0) | 0

上一篇:最小生成树之prim算法

下一篇:数据结构之最短路径(Floyd)

相关热门文章 linux 常见服务端口xmanager 2.0 for linux配置【ROOTFS搭建】busybox的httpd...openwrt中luci学习笔记Linux里如何查找文件内容... 给主人留下些什么吧!~~ 评论热议
转载请注明原文地址: https://www.6miu.com/read-56911.html

最新回复(0)