逆向(四) 常见的LLDB 命令

之前有写过 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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • [转]浅谈LLDB调试器文章来源于:http://www.cocoachina.com/ios/20150126/...
    loveobjc阅读 2,555评论 2 6
  •   LLDB的Xcode默认的调试器,它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能。平时用...
    Thinkdifferents阅读 1,652评论 1 4
  • LLDB的Xcode默认的调试器,它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能。平时用Xc...
    小笨狼阅读 20,564评论 31 186
  • 转载 与调试器共舞 - LLDB 的华尔兹: https://objccn.io/issue-19-2/ 推荐:i...
    F麦子阅读 3,349评论 0 10
  • “娘...” 牧尘那显得极为沙哑的声音在这纤尘不染的竹屋内传荡开来,然后让得竹屋内的两人都是突然间安静下来。 灵溪...
    混沌天书阅读 523评论 0 0