我正在尝试使用该pt_regs
结构来获取和设置寄存器,例如eax
,但编译错误告诉我pt_regs
没有这样的成员eax
。
但是,我能够获得ax
注册表。谁能告诉我发生了什么?
我正在使用带有3.0.0
内核的 32 位 Ubuntu linux。再次感谢你。
我正在尝试使用该pt_regs
结构来获取和设置寄存器,例如eax
,但编译错误告诉我pt_regs
没有这样的成员eax
。
但是,我能够获得ax
注册表。谁能告诉我发生了什么?
我正在使用带有3.0.0
内核的 32 位 Ubuntu linux。再次感谢你。
看一下arch/x86/include/asm/ptrace.hstruct pt_regs
中的定义。
注意#ifndef __KERNEL__
那里的东西,这意味着该结构的定义对于内核模式和用户模式代码是不同的。
对于内核代码,pt_regs::ax
可能是您需要的值。它应该包含%eax
32 位系统和%rax
64 位系统的值。