我们之前学习ptrace的材料都是i386的,常常报错
error: ‘struct user_regs_struct’ has no member named ‘eip’
这是由于包含文件的问题,在i386结构下我们包含的头文件是<linux/user.h>
在x64机器上需要进行修改,改成<sys/user.h>
在x64机器上我们看到
其实最终访问的文件是/usr/include/x86_64-linux-gnu/sys/user.h
这里面对寄存器的命名有一些差别,大家自己看就能看懂。