美文网首页iOS DeveloperiOS收藏
iOSDebug调试之LLDB命令

iOSDebug调试之LLDB命令

作者: PersonChen_QJ | 来源:发表于2018-05-08 11:46 被阅读253次

    认识LLDB

    • LLDB是XCode内置的为我们开发者提供的调试工具,它与LLVM编译器一起,存在于主窗口底部的控制台中,能够带给我们更丰富的流程控制和数据检测的调试功能。在调试过程中熟练使用LLDB,可以让你debug事半功倍。
    控制台.png

    作用

    • 允许你在程序运行的特定时暂停它
    • 查看变量的值
    • 执行自定的指令
    • 按照你所认为合适的步骤来操作程序的进展

    控制台功能(如上图,这里介绍前六个功能点)

    • 第一个按钮点击就会收起控制台了,也就看不见了。
    • 第二个按钮:如果为蓝色,就是断点有效。如果点击它变成灰色,就是所有断点不起作用。
    • 第三个按钮:是继续的意思,会让程序从断点处恢复继续往下运行,我们点了这个按钮后,应用就会恢复正常运行状态。
    • 第四个按钮是:单步执行的意思,每点这个按钮一次,程序就会从我们断点开始的地方,向下执行一步。
    • 第五个按钮是:进入执行的意思,简单来说就是如果我们当前的断点在一个函数调用上,把么断点会继续进入这个函数的内部进行调试。
    • 第六个按钮是:跳出的意思, 就是如果我们当前在一个函数中,它会跳出当前的函数,回到函数的调用处。

    常用的命令(p、po、call)

    • 作用
    • 打印变量的值可以使用print(简写p)命令,该命令如果打印的是基础数据类型,则会列出基础数据类型的类型和值。如果是对象,还会打印出对象指针地址。
    • 查看对象的值使用 po命令。
    • call是调用方法,和p,po也有此功能,call可以使用在没有返回值,不需要显示输出的情况下。
    • 使用场景
    • 三个命令都具有相同的功能,若只查看对象的值则使用po命令。若要查看更新信息则使用p命令。
    • 调用方法且方法无需返回值时使用 call 命名。若需要返回值,则根据实际情况,使用p或者po命令。
    查看值.png 方法调用.png

    声明变量(e)命令

    • 作用
    • 在bebug期间定义变量,常量,对象。然后在调试中使用
      *使用场景
    • 在bebug期间临时计算某个值,无需修改项目代码。无需重新编译。
    • 在bebug期间修改程序内修改项目内某个变量,对象的某个值,修改背景颜色等。无需重新编译。
    e命令.png 修改背景颜色和对象的值.png

    设置断点触发条件

    • 作用
    • 可以减少因为循环而产生的不必要时间浪费。
    • 可以使控制台打印的信息更具有价值。
    • 更容易检索有用的信息。
    断点.png

    结尾

    • lldb的命名不止这么多,此上仅代表个人在开发中常用的命令。更多命令可控制台输入help查看更多命令。
    • 想要查看更多操作,可查看

    相关文章

      网友评论

        本文标题:iOSDebug调试之LLDB命令

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