Lldb能直接修改变量值么


(lldb) register write $x27 @“a2b579f3f3edee1bbd8456”

error: Failed to write register ‘x27’ with value ‘@a2b579f3f3edee1bbd8456’: ‘@a2b579f3f3edee1bbd8456’ is not a valid unsigned integer string value

我这种做法为什么不行,只能改数字么

???你学过C语言吗

学过啊,蛮久没调试过了 很多都忘记了,给个例子我 就懂了 这个好像只能设置数字

先分配一个对象,打印地址,然后改寄存器

(lldb) expr id $str = @"a2b579f3f3edee1bbd8456"
(lldb) po $str
a2b579f3f3edee1bbd8456
(lldb) print $str
(__NSCFString *) $str = 0x0000600000cb9680 @"a2b579f3f3edee1bbd8456"
(lldb) reg write rax 0x0000600000cb9680
(lldb) c
1 Like

0x…

正解 。。。