[英]In the DWARF info, what do they exactly mean by the DW_OP registers?
我试图解析DWARF
信息,然后使用该信息使用pin工具从程序中获取局部变量。 它有点像在类固醇上使用pin
作为GDB
。 但是,我很难理解它们对局部变量和分配的寄存器的含义。
例如,
<2>< 1214> DW_TAG_variable
DW_AT_name mts
DW_AT_decl_line 69
DW_AT_type <90>
DW_AT_location DW_OP_breg4+44
我明白,为了从变量mts中获取数据,我必须将44添加到某个寄存器,我的问题是我不确切地说他们正在讨论哪个寄存器。 我该怎么解释这个? 我在网上找不到任何东西。
另一个例子是DW_OP_fbreg
, DW_OP_breg5
等。
任何人都知道他们在x86
环境中谈论哪些寄存器? 他们在谈论ebp还是esp? 谢谢。
这是一个象征性的注册名称。 请参阅WineHQ的源代码中的xxx_map_dwarf_register
方法:
例如, DW_OP_breg4
是i386上的ESP
。
如果您还没有这样做,请参阅以下内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.