我正在尝试使用ptrace
来访问子进程中特定线程的寄存器。我得到的价值似乎是垃圾 - 他们似乎在几周内出路了。这就是我的意思:
RAX: fffffffffffffdfc
RBX: 7f0533fe7700
RCX: ffffffffffffffff
RDX: 0
RSI: 0
RDI: 7f0533fe6ea0
RBP: 7f0533fe6ed0
RSP: 7f0533fe6e70
RIP: 7f05345fab9d
我可以相信RAX和RCX,但堆栈指针,指令指针和块指针是可疑的。最重要的是,使用GDB访问这些值会导致GDB崩溃(我没有意识到我可以做到这一点哈哈)。我应该使用PTRACE_GETREGSET而不是PTRACE_GETREGS吗?我在x86_64系统上,所以我认为它没有什么区别。或者我应该在别处寻找?