64位中是没有r0-r4么?

#按照书上244也操作po $r2 没效果, 而且用Hopper解析都是d** 或者 x**这种形式的呢, 那么64位是无法操作么?

po $x2

#po $x2 我试着打印了以后只有一串数字呢

你打印的寄存器里面保存的什么

###断点打的应该没啥问题吧? 但是我po $sp出来也是数字呢

数字就是里面保存的地址,或值的地址,有什么问题?

##不是吧… po $r2 不是直接该看到第一个参数么?

##如果是地址也不对, 直接po 地址出的数据也全不对

32位处理器的寄存器是Rx,
64位处理器的寄存器是Xx,
你随便停在哪个objc_msgSend上,然后依次
p (char *)$x1
po $x0
po $x2 (如果有参数)
就可以看到效果了

2 个赞