iOS Xcode常用LLDB指令

Posted AirZilong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS Xcode常用LLDB指令相关的知识,希望对你有一定的参考价值。

常用LLDB指令

指令的格式是

[[…]][-options [-option-value]] [argument[argunent…]]

  • command:命令
  • subcommand:子命令
  • action:命令操作
  • options:命令选项
  • arguments:命令参数。

比如给test函数设置断点

breakpoint set -n test

  • breakpoint是-command>
  • set是
  • -n是
  • test是

help

查看指令的用法

  • help breakpoint
  • help breakpoint set

expression – expr

1. 执行一个表达式

  • cmd-options>:自令选项
  • –:命令选项结束符,表示所有的命令选项已经设置完毕,如果没有命令选项。–可以省略
  • :需要执行的表达式

expression selt.view backgxoundcolor (UIColor zedcolor)

2. expression、expression–和指令print、p、call的效果一样,(数组和self)
3. expression -O --和指令po的效果一样

  • expression -o – self

thread backtrace

  • 打印线程的堆栈信息
  • 和指令bt的效果一样

thread return[]

让函数直接返回某个值,不会执行断点后面的代码

frame variable[]

打印当前钱顿的变量

thread continue、continue、c

程序继续运行

thread step-over、next、n

单步运行,把子盈数当做整体一步执行

thread step-in、step、s

单步运行,遇到子函数会进入子函数

thread step-out、finish

直接执行完当前的数的所有代码,返回到上一个函数

si、ni和s、n类似

  • s、n是源码级别
  • si、ni是汇编指令级别

breakpoint set

  • 设置断点
  • breakpoint set -a 函数地址
  • breakpoint set -n 函数名

breakpoint list

列出所有断点和编号

breakpoint disable 断点编号

禁用断点

breakpoint enable 断点编号

启用断点

breakpoint delete 断点编号

删除断点

breakpoint command add 断点编号

给断点预设执行命令,触发顺序执行

breakpoint command list 断点编号

查询断点列表

breakpoint command delete 断点编号

删除断点的设置命令

watchpoint set variable 变量

  • watchpoint set variable self->age

watchpoint set expression 地址

  • watchpoint set expression &(self->age)

watchpoint list
watchpoint disable 断点编号
watchpoint enable 断点编号
watchpoint delete 断点编号
watchpoint command add 断点编号
watchpoint command list 断点编号
watchpoint command delete 断点编号

image lookup

  • image lookup -t 类型:查找某个类型的信息
  • image lookup -a 地址:根据内存地址查找在模块中的位置
  • image lookup -n 符号||函数名:查找符号或者函数的位置

image list

  • 列出所加载的模块信息
  • image list -o -f(打印出模块的偏移地址和全路径)

以上是关于iOS Xcode常用LLDB指令的主要内容,如果未能解决你的问题,请参考以下文章

iOS Xcode常用LLDB指令

iOS Xcode常用LLDB指令

IOS调试lldb命令常用po

iOS-LLDB 常用命令梳理

LLDB调试详解--逆向开发

IOS逆向-arm64汇编