【问题标题】:differnce between struct reg and struct user_regs_struc?struct reg 和 struct user_regs_struct 的区别?
【发布时间】:2011-03-13 04:28:17
【问题描述】:

struct regstruct user_regs_struc 在 Linux 64 位机器上有什么区别?

【问题讨论】:

  • 你能提供一些上下文吗?
  • 我已经在 Linux x86_64 64 位机器上下载了 pstack-1.2-6.src.rpm 源代码并尝试在那里编译它。但很少出错。我不认为 struct reg 是在这个操作系统上定义的,它在源代码中被引用。我正在修改源代码以使其编译。我在这个操作系统上有 struct user_regs_struc。

标签: ptrace


【解决方案1】:
struct user_regs_struct
{
  unsigned long r15;
  unsigned long r14;
  unsigned long r13;
  unsigned long r12;
  unsigned long rbp;
  unsigned long rbx;
  unsigned long r11;
  unsigned long r10;
  unsigned long r9;
  unsigned long r8;
  unsigned long rax;
  unsigned long rcx;
  unsigned long rdx;
  unsigned long rsi;
  unsigned long rdi;
  unsigned long orig_rax;
  unsigned long rip;
  unsigned long cs;
  unsigned long eflags;
  unsigned long rsp;
  unsigned long ss;
  unsigned long fs_base;
  unsigned long gs_base;
  unsigned long ds;
  unsigned long es;
  unsigned long fs;
  unsigned long gs;
};

这个结构可以在 /usr/include/x86_64-linux-gnu/sys 中找到

根据this link struct reg 是

 struct reg {
            register_t fixreg[32];
            register_t lr;
            register_t cr;
            register_t xer;
            register_t ctr;
            register_t pc;
    };

在freeBsd文件中:sys/powerpc/include/reg.h

是的,我没有在我的 debian 64 位系统中找到这个结构。

【讨论】:

    猜你喜欢
    • 2017-08-08
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 2014-06-17
    • 1970-01-01
    • 2014-10-20
    • 1970-01-01
    相关资源
    最近更新 更多