Gdb 为什么我在我的Ubuntu中看到了RCX寄存器,但我正在观看的教程显示了一个名为ECX的寄存器?
我正在看一个关于调试可执行文件的教程,他在使用gdb peda,我在使用Ubuntu19.10中的gdb进行调试,我一时糊涂了,因为我认为如果找不到完全相同名称的寄存器会有问题,不管怎样,我继续进行调试学习,但现在我有一个疑问:是什么原因使他的登记册与我的不同 他的登记册: 我的登记册:Gdb 为什么我在我的Ubuntu中看到了RCX寄存器,但我正在观看的教程显示了一个名为ECX的寄存器?,gdb,Gdb,我正在看一个关于调试可执行文件的教程,他在使用gdb peda,我在使用Ubuntu19.10中的gdb进行调试,我一时糊涂了,因为我认为如果找不到完全相同名称的寄存器会有问题,不管怎样,我继续进行调试学习,但现在我有一个疑问:是什么原因使他的登记册与我的不同 他的登记册: 我的登记册: 您已经为64位目标机器编译了代码,因此您看到的是64位寄存器。要使用32位寄存器(如ECX),必须使用-m32标志编译代码 (gdb) info registers rax
您已经为64位目标机器编译了代码,因此您看到的是64位寄存器。要使用32位寄存器(如ECX),必须使用-m32标志编译代码
(gdb) info registers
rax 0x7fffffffddc0 140737488346560
rbx 0x0 0
rcx 0x414141 4276545
rdx 0x4 4
rsi 0x7fffffffe299 140737488347801
rdi 0x7fffffffddc0 140737488346560
rbp 0x7fffffffddf0 0x7fffffffddf0
rsp 0x7fffffffdda0 0x7fffffffdda0
r8 0x0 0
r9 0x7ffff7fe11f0 140737354011120
r10 0x0 0
r11 0x0 0
r12 0x5555555550e0 93824992235744
r13 0x7fffffffded0 140737488346832
r14 0x0 0
r15 0x0 0
rip 0x555555555228 0x555555555228 <main+95>
eflags 0x246 [ PF ZF IF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0