LLDB 内存或运行时读写

LLDB Memory or read write on runtime

玩过lldb之后,我想探索一种在条件应用(断点)时自动写入寄存器或内存值的方法。

lldb 有这样的功能吗?

谢谢

lldb 断点有条件和命令。条件(break setbreak modify-c 选项)是在断点命中的帧上下文中计算的 C (ObjC/C++) 表达式。

如果条件计算结果为真,命令(添加 breakpoint command add)只会得到 运行。因此,如果您可以将条件表示为表达式,将操作表示为一系列固定的 lldb 命令,那么您可以通过这种方式实现您想要的行为。

你也可以在Python中写断点命令(breakpoint command add -s python使用SB API的:

https://lldb.llvm.org/python_reference/index.html

因此,如果您希望在更复杂的条件下进行更改或执行更复杂的操作,则可以使用 Python API 来完成这些任务。