pt_regs结构中的eax在哪里?只有斧头存在

时间:2012-04-09 08:16:58

标签: linux module linux-kernel kernel

我正在尝试使用pt_regs结构来获取和设置eax等寄存器,但编译错误告诉我pt_regs没有这样的成员eax

但是,我能够获得ax注册。谁能告诉我发生了什么?

我正在使用带有3.0.0内核的32位Ubuntu linux。再次感谢你。

1 个答案:

答案 0 :(得分:5)

查看arch/x86/include/asm/ptrace.hstruct pt_regs的定义。

注意#ifndef __KERNEL__那里的东西,这意味着该结构的定义对于内核模式和用户模式代码是不同的。

对于内核代码,pt_regs::ax可能是您需要的值。它应该包含32位系统上的%eax和64位系统上的%rax