逆向(四) 常见的LLDB 命令

2018-05-30  本文已影响43人  ziyouzhe4

之前有写过 Xcode动态调试原理 其中会涉及到使用LLDB命令, 今天有时间可以总结一些常用的LLDB命令,可以帮助你提高开发调试的效率.

指令的格式:

<command> [<subcommand> [<subcommand>...]] <action> [-options [option-value]] [argument [argument...]]

breakpoint : 比如给test函数设置断点 : breakpoint set -n test

-n 是代表name的意思
test是方法名字

help : 查看指令的用法 : help breakpoint

help breakpoint
help breakpoint set 等等都可以

expression : 执行一个表达式 : expression self.view.backgroundColor = [UIColor redColor]

expression这个命令可以避免重新运行程序带来的耗时操作,可以在断点下面直接设置,跳过断点就可以显示效果了,如下图:


expression1.png
expression2.png

添加了 expression self.view.backgroundColor = [UIColor redColor];
命令后,跳过断点,不用重新运行就可以看见界面的变化

thread backtrace : 打印堆栈信息 类似于 bt 命令
backtrace.png

输入 bt 打印相同的内容,可以查看函数调用的堆栈信息

thread return : 让函数直接返回某个值,不会执行断点后面的代码了
threadreturn.png

执行完thread return直接跳出sss方法,sss中log都不会打印

frame variable : 打印当前栈帧的变量
image.png

以下图片都是一些常用的LLDB命令, 自己感兴趣可以试一下.这里不再过多介绍.

lldb_01.png lldb_02.png
上一篇下一篇

猜你喜欢

热点阅读