美文网首页
LLDB指令一

LLDB指令一

作者: 曹来东 | 来源:发表于2018-08-13 09:33 被阅读9次

LLDB指令格式:

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

<command> : 命令
[<subcommand> [<subcommand>...]]:子命令
<action>:命令操作
[-options [option- value]] : 命令选项
[argument [argument...]]:命令参数
LLDB指令格式中[](中括号)内的指令可以没有

比如给test函数设置断点

//breakpoint : 命令
//set : 子命令(或者说是动作action)
// -n : name,函数名
// test : 参数
breakpoint set -n test
image.png

help指令

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

expression指令

执行一个表达式
expression:命令选项
--:命令选项结束符,表示所有的命令选项已经设置完毕,如果没有命令选项,--可以省略
:需要执行的表达式
expression self.view.backgroundColor = [UIColor redColor]
过掉23行的断点就可以看到lldb指令已经生效

image.png
p po print call这几个指令某种情况下是同义指令,没有区别.
image.png
注意区分如下指令:
p arr
p -O -- arr
expression arr
expression -O -- arrpo arr同义
􏰲􏱸􏱹􏱤􏰎􏰧􏱦􏱧􏰛 image.png
image.png

如上所示expression -O -- arr指令想当于NSLog(@"%@")方式打印对象.即执行该对象的description方法.

主要的两个指令:

p:后面可以接表达式,方法调用等
po:后面可以打印对象

thread backtrace指令

打印线程的堆栈信息和指令bt的效果相同
thread return [<expr>]:让函数直接返回某个值,不会执行断点后面的代码
frame variable[variable-name]:打印当前栈帧的变量
thread continue |continue| c:程序继续运行
thread step-over |next| n 单步运行,把子函数当做整体异步执行
thread step-in step s:单步运行,遇到子函数会进入子函数
thread step-out finish:直接执行完当前函数的所有代码,返回到上一个函数
si nis n类似:
s n是源码级别
si ni是汇编指令级别

相关文章

  • 深挖Xcode lldb调试命令,提高调试Debugger能力,

    本文讲解 lldb 指令解释,意为快速掌握 lldb 调试指令。指令来着Apple Doc Debugger co...

  • 十六、LLDB(一)

    学习LLDB指令。掌握LLDB指令,不仅仅在逆向上有用,在平时开发调试中也是事半功倍。 一、简介 终端上的LLDB...

  • LLDB 学习

    常用LLDB 指令 指令格式 [ [ ...] ] [- options [option-value]] [...

  • Chisel 和 lldb_commands 常用指令

    Chisel 和 lldb_commands 常用指令是 LLDB 上的指令 。 更详细的说明点击这里。 Chi...

  • LLDB指令一

    LLDB指令格式: [ [ ...]] [-options [option- value]] [argume...

  • Xcode的动态调试任意的APP-LLDB(下)

    常用LLDB指令 指令格式是 [ [ ...]] [-options [option- value]] [a...

  • LLDB指令

    平时开发的过程中使用Xcode都是图形化操作习惯了,要是脱离了xcode你还能调试代码吗,恩,Xcode已经把我们...

  • LLDB指令

    print / p : 打印 po : 打印对象 读取内存memory read / 数量格式字节数 内存地址x...

  • lldb指令

    1.打印 例如: 2.读取内存 3.修改内存 4.more https://www.cnblogs.com/hjl...

  • LLDB 指令

    LLDB常用指令 1.expr 指令 这个指令的意思,能实时的执行控制台输入的指令,修改或者调用方法: 注意: o...

网友评论

      本文标题:LLDB指令一

      本文链接:https://www.haomeiwen.com/subject/qfcybftx.html