美文网首页
# LLDB调试一些常用命令和技巧

# LLDB调试一些常用命令和技巧

作者: yh8577 | 来源:发表于2019-06-18 05:27 被阅读0次

LLDB调试一些常用命令和技巧

1.常用命令

help是帮助命令,会打印出一个command list,help + <command名称>可以查看某一个命令的描述

LLDB有前缀识别,如next输入n就行了,print输入p,expression输入e就可以.生成的$4是暂存在lldb的变量名.

p打印变量

po打印变量的description

p/x 1000打印1000的16进制(十进制d,二进制t同理)

e int $a =2定义变量

e $a = 3修改变量(也可以修改断点时的代码中的变量)

image

流程控制

c(continue) 取消断点的暂停 一直到下一个断点,对应第一个按钮

n(next) 向下执行一行代码,如果是函数则黑盒执行,不会进入函数

s(step) 进入函数内部,如果下一行不是函数,那么n和s是一样的

finish 跳出函数

thread return (+返回值) 可以主动给函数返回值并立即跳出函数,返回值会在程序中起效 (例thread return NO thread return 110)

image

frame info 打印当前的代码函数,文件等等信息

一个例子

//打印出keyWindow的信息

(lldb) po [[[UIApplication sharedApplication] keyWindow] recursiveDescription]
<UIWindow: 0x7f82b1fa8140; frame = (0 0; 320 568); gestureRecognizers = <NSArray: 0x7f82b1fa92d0>; layer = <UIWindowLayer: 0x7f82b1fa8400>>
| <UIView: 0x7f82b1d01fd0; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x7f82b1e2e0a0>>

//把window的view保存在lldb中

(lldb) eid$myView = (id)0x7f82b1d01fd0

//修改背景颜色

(lldb) e (void)[$myView setBackgroundColor:[UIColorblueColor]]

//但是只有程序继续运行之后才会看到界面的变化。因为改变的内容必须被发送到渲染服务中,然后显示才会被更新。渲染服务实际上是一个另外的进程 (被称作backboardd)这时执行[CATransaction flush]方法开启渲染

(lldb) e (void)[CATransaction flush]

//获取导航控制器

(lldb) eid$nvc = [[[UIApplicationsharedApplication] keyWindow] rootViewController]

//可以创建一个新的vc

(lldb) e id$vc = [UIViewController new]

//push出来

(lldb) e (void)[nvc pushViewContoller:vc animated:YES]

//渲染

(lldb) e (void)[CATransaction flush]

相关文章

  • # LLDB调试一些常用命令和技巧

    LLDB调试一些常用命令和技巧 1.常用命令 help是帮助命令,会打印出一个command list,help ...

  • 常用调试命令

    LLDB常用命令 LLDB是LLVM下的调试器 p 输出基本类型 po 输出objc对象 expr 断点调试时,在...

  • iOS开发之LLDB常用调试技巧

    原文地址iOS开发之LLDB常用调试技巧用好了LLDB,让调试变得轻松愉快,本文会写出并示例讲解一些常用的指令,以...

  • xcode调试技巧

    Xcode调试技巧之:LLDB Xcode调试技巧之:LLDB 1.输出视图层级关系(这是一个被隐藏的命令):po...

  • LLDB调试一些常用命令和技巧

    1.常用命令 help是帮助命令,会打印出一个command list,help + 可以查看某一个命令的描述 ...

  • Swift 常用快捷键

    iOS开发之Xcode常用调试技巧总结 Xcode 常用快捷键 lldb技巧:

  • Xcode控制台调试常用命令

    IOS Xcode调试常用命令和断点 Xcode 中的调试技巧与我们的日常开发息息相关,而这些调试技巧在我们解决B...

  • iOS逆向:动态调试

    目录一,Xcode动态调试的原理二,终端动态调试的原理三,建立连接四,LLDB常用命令五,ASLR 一,Xcode...

  • lldb

    lldb 调试实战 0x0 命令结构 其中options和argument是可选的. 0x1 常用命令 1,设置断...

  • LLDB调试技巧

    一、常用的命令 1.print、po输出打印 打印变量的值可以使用print(简写p)命令,该命令如果打印的是基础...

网友评论

      本文标题:# LLDB调试一些常用命令和技巧

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