Lldb如何跟踪某个寄存器读写

跟踪到w23的值为1,逆向过来的数据来源也下是判断w23的值,但是在这个函数内已经找不到w23这个寄存的读写内容了


w23内容打印如下:

此处w23用p/x打印出地址是0x00000001,请问下这个是真实的地址吗?因为和它的值1一样,让人容易产生误解。
尝试在0x00000001上下watchpoint,发现也不会触发。

在论坛中搜索也没找到跟踪寄存器读写比较好的解决方案,请问哪位大神有没有比较好的方法能跟踪这种没有上下文关联的数据来源。

没有寄存器硬件断点

w23就是x23的低32位数值

谢谢你的提示,我按照你的提示继续往上找,发现又遇到问题了


如上图的示,w23也就是x23的来源x1,x1往上有两个赋值的地方,但这两个位置赋值不一样,也就是在跳转到 loc_191c34168的时候x1才变成1的,继而寻找loc_191c34168的调用者。然后我打印出lr的地址,在lr的地址上下断点,重新运行,发现lr上地址断点发生在loc_191c34168这个后面,请问下我这种做法哪里出错了?