目录

一、Breakpoint(断点)调试

1.Edit Breakpoint

(1)Condition

(2)Ignore

(3)action

(4)Options

2.Disable Breakpoint

3.Delete Breakpoint

4.Reveal in Breakpoint Navigator

二、lldb命令

三、lldb命令详细使用

1、Breakpoint

2、process

3、thread

4、frame

5、call

6、image

7、memory查看内存

8、为命令设置别名

四、Swift Error Breakpoint(Swift语言的断点)

五、Exception Breakpoint(全局断点(OC 和 C++语言))

六、OpenGL ES Error Breakpoint

七、Symbolic Breakpoint(符号断点)

1.Symbol

2.Module

六、Constraint Error Breakpoint

八、Test Failure Breakpoint

九、设置NSZombieEnabled、MallocStackLogging、NSAutoreleaseFreedObjectCheckEnabled、NSDebugEnabled

第一种设置方法

第二种设置方法:


苹果官网:传送门

lldb官网:传送门

Xcode断点分以下几种:

点击xcode左下角➕号:

可以看到断点类型:

  1. Swift Error Breakpoint
  2. Exception Breakpoint
  3. OpenGL ES Error Breakpoint
  4. Symbolic Breakpoint
  5. Constraint Error Breakpoint
  6. Test Failure Breakpoint

一、Breakpoint(断点)调试

看这6种断点之前,先来介绍一下,如何编辑断点:

根据需要加断点,鼠标在断点上右键:

可以看到上图四种类型:

  • Edit Breakpoint
  • Disable Breakpoint
  • Delete Breakpoint
  • Reveal in Breakpoint Navigator

1.Edit Breakpoint

点击Edit Breakpoint后(使用比较频繁):

可以看到有4种操作条件:

  • Condition(条件)
  • Ignore(忽略)
  • Action(执行语句)
  • Options

(1)Condition

可以输入一个条件表达式,如果条件满足了,就会触发断点,例如:

执行for循环的时候,只会在value的值为@“b”的时候才会触发断点

使用比较频繁,往往在处理数据时for循环找到指定对象时用到,当然还有其他用法,因场景而异。

(2)Ignore

设置忽略断点的次数,比如设置2,,在上述例子中,会忽略前两次for循环,而在第三次时触发断点

(3)action

点击Action

默认是Debugger Command,点击会有

会看到有6中类型:

  • AppleScript
  • Gapture GPU Frame
  • Debugger Command
  • Log Message
  • Shell Command
  • Sound

功能Debugger CommandLog Message比较常用

  1. AppleScript
    会在断点触发的时候执行Mac OS X内置的一种功能强大的脚本语言。
  2. Gapture GPU Frame
    调试跟GPU相关的问题
  3. Debugger Command  

    可以输入LLDB命令:

    我们常常使用expr(expression简写,两种写法lldb都会识别)在断点处强行修改变量值

  4. Log Message

    %B输出断点的名称

    %H输出断点执行的次数

    @@之间输入表达式,比如(@5*2@  会输出结果10,也可以输出对象结果)

    勾选Log message to console,会在控制台输出结果


    勾选Speak message,不会在控制台输出,但是会朗读处结果(单词发音还是挺准的,就是有点生硬,程序员估计没人用的上

    iOS之Xcode断点调试相关推荐

    1. 如何使用Xcode分析调试在真机运行的UE4 IOS版游戏

      http://www.cnblogs.com/TracePlus/p/4090227.html 写本文的是因为UE4 官方文档虽然也有,但主要讲的是是用UE4Editor把游戏打成一个IPA包的形式发 ...

    2. iOS开发之Xcode常用调试技巧总结

      转载自:iOS开发之Xcode常用调试技巧总结 最近在面试,面试过程中问到了一些Xcode常用的调试技巧问题.平常开发过程中用的还挺顺手的,但你要突然让我说,确实一脸懵逼.Debug的技巧很多,比如最 ...

    3. xcode反汇编调试iOS模拟器程序

      分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow http://bl ...

    4. android lldb断点,iOS lldb断点调试

      Xcode的使用中总是离不开调试这个环境,在一年多的iOS开发时间中,我更多地依赖于XCode本身提供的GUI工具来进行调试,而对LLDB敬而远之,这段时间好好学习了LLDB的使用,发觉我错过了太多东 ...

    5. Qt for ios 在 xcode 中编译(便于调试)

      前言 用 Qt 开发 IOS 程序需要搭配最新版的 xcode 才能进行编译,这个毫无疑问吧.如果需要设置程序图标或启动页之类这种平台性的功能,直接在 xcode 中进行设置是最方便的,并且在 xco ...

    6. IOS调试—断点调试以及动态输出

      在开发App的过程中.须要重复的改动和优化我们的代码,特别是当程序出现bug,须要高速的找出错误的原因,进行改动,以保证程序的正确运行. 断点调试,是最经常使用最简单的一种调试方式,能够一步步跟踪程序 ...

    7. IOS 7 Xcode 5 免IDP证书 真机调试

      今天带来的是 IOS 7 Xcode 5 免IDP证书的真机调试.说白了就是穷,不想给苹果交那$99的钱. 注意:虽然可以用这个方法实现真机调试,不过不能实现向Apple store 发布APP,其次 ...

    8. IOS 7 Xcode 5 免IDP证书 真机调试(转载)

      最近转开发了,真的很久没有更新博客了,今天有空写一篇吧. 今天带来的是 IOS 7 Xcode 5 免IDP证书的真机调试.说白了就是穷,不想给苹果交那$99的钱. 注意:虽然可以用这个方法实现真机调 ...

    9. IOS 7 Xcode 5 免IDP证书 真机调试 【修改自无心圆的博客】

      修改自 IOS 7 Xcode 5 免IDP证书的真机调试. 注意:虽然可以用这个方法实现真机调试,不过不能实现向Apple store 发布APP,其次向Notification这种需要去Apple ...

    最新文章

    1. 和我一起打造个简单搜索之SpringDataElasticSearch入门
    2. RDS读写分离,海量数据一键搞定
    3. 温故而知新,ggplot2 饼图的几点笔记
    4. jQuery图片自动添加水印插件
    5. Usermod 命令详解
    6. c语言 数组比较不等往下累加,用C语言确定两个数组内的元素排列顺序不同,但是元素相同,代码有bug找不出?...
    7. No identifier specified for entity没有为实体指定标识符
    8. java 多态与重载的区别_java实现多态 方法的重写和重载的区别
    9. 华为云数据库携新品惊艳亮相2019华为全联接大会
    10. centos 阿帕奇无法解析php_PHP之校园连接企业之路-2
    11. AB Test AA Test
    12. 信息入口的新闻客户端如何盈利?
    13. 【微积分3一元函数积分学】第三章第三节 反常积分
    14. VC6.0 快捷键整理
    15. Android8.0 修改默认铃声 添加新铃声
    16. 计算机如何快速返回桌面,打游戏怎么快速返回桌面
    17. VMware,Inc. (Virtual Machine ware)
    18. 网站被劫持 网站被劫持跳转到非法页面的解决办法
    19. WAIC预热 | 赋能企业数字化转型,容智信息×亿欧“AI商业落地论坛”重磅来袭
    20. HDU -1704 Rank——floyd

    热门文章

    1. 手把手教你学习IEC104协议和编程实现六 遥测与遥信帧的几种类型.
    2. 想靠国外steam游戏项目日赚200+,这些问题你必须了解
    3. 机器学习(三)西瓜决策树
    4. 状态机——饮料自动售货机
    5. python爬取分析超级大乐透开奖数据
    6. Java解方程zu q_关于数学:Java中的微分方程
    7. 百度地图中如何获取某个经纬度附近的地址
    8. 微电子基本知识---绝缘相关性质(电阻率,介电常数,漏电流,漏电流密度,击穿电压,击穿场强)
    9. 关于CHelloDoc* GetDocument() 的一些问题 ?
    10. 判断用户输入的数字是奇数还是偶数