att*_*tis 3 c c++ debugging stack dwarf
我试图解析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
Run Code Online (Sandbox Code Playgroud)
我明白,为了从变量mts中获取数据,我必须将44添加到某个寄存器,我的问题是我不确切地说他们正在讨论哪个寄存器.我该怎么解释这个?我在网上找不到任何东西.
另一个例子是DW_OP_fbreg,DW_OP_breg5等等.
任何人都知道他们在x86上下文中谈论哪些寄存器?他们在谈论ebp还是esp?谢谢.