逆向(四) 常见的LLDB 命令

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

指令的格式:

[ [...]] [-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这个命令可以避免重新运行程序带来的耗时操作,可以在断点下面直接设置,跳过断点就可以显示效果了,如下图:


逆向(四) 常见的LLDB 命令_第1张图片
expression1.png

逆向(四) 常见的LLDB 命令_第2张图片
expression2.png

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

thread backtrace : 打印堆栈信息 类似于 bt 命令
逆向(四) 常见的LLDB 命令_第3张图片
backtrace.png

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

thread return : 让函数直接返回某个值,不会执行断点后面的代码了
逆向(四) 常见的LLDB 命令_第4张图片
threadreturn.png

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

frame variable : 打印当前栈帧的变量
逆向(四) 常见的LLDB 命令_第5张图片
image.png

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

逆向(四) 常见的LLDB 命令_第6张图片
lldb_01.png
逆向(四) 常见的LLDB 命令_第7张图片
lldb_02.png

你可能感兴趣的:(逆向(四) 常见的LLDB 命令)