资料:http://www.cnblogs.com/daiweilai/p/4421340.html#undefined
一、断点
基本操作:添加 、移除、监视(Watch)某个变量。
普通断点
Edit Breakpoint
1、Condition
这里可以输入条件表达式,满足条件的时候断点就会生效。
2、Ingore
在这里可以设置忽略断点次数。
3、Action
Action有6中类型
常用的就是Log MessageDebugger Command
  • Log Message:%B会打印断点的名字,%H会打印断点的调用次数,@@中间可以输入表达式
  • Debugger Command:po(打印对象信息),bt(打印函数栈),expression(表达式)。
  • 勾选Automatically continue after evaluating actions之后程序会在断点产生后继续运行。可以输入调试信息至于不暂停程序。(?)
全局断点(Exception Breakpoint)
定位 main 里边的 EXEC_BAD_ACCESS:问题。
OpenGL ES的断点调试(OpenGL ES Error Breakpoint)
符号断点(Symbolic Breakpoint)
当程序运行到特定符号的时候就会产生断点。通过这种方式添加断点,就不需要在源文件中添加,也不需要知道断点设置在文件的第几行。
比普通断点多了两个属性Symbol和Module。
1. 方法名称:会对所有具有此方法名称的类方法生效。例如 initWithFrame: 。
2. 特定类的方法:OC类和C++类都适用,例如 ,[UIView initWithFrame:]或者 Shap::draw()。
3. 函数名称。例如普通C函数。
Test Failure Breakpoint
二、打印
#define NSLog(format, ...) do { \
fprintf(stderr, "<%s : %d> %s\n", \
[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], \
__LINE__, __func__); \
(NSLog)((format), ##__VA_ARGS__); \
fprintf(stderr, "-------\n"); \
} while (0)

三、Console(lldb)控制台命令
资料:http://objccn.io/issue-19-2/
常用调试命令
help --帮助
print --打印
expression —改变程序内的值
po
// p 和 e 来代替 print 和 expression
LLDB 无法确定涉及的类型 (译者注:返回的类型)
//  p (char)[[$array objectAtIndex:$a] characterAtIndex:0]
// p/d (char)[[$array objectAtIndex:$a] characterAtIndex:0]

转载于:https://www.cnblogs.com/hanyutong/p/4908545.html

(二期)IOS调试技巧相关推荐

  1. iOS调试技巧(转载)

    IOS各种调试技巧豪华套餐(转载) 目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoin ...

  2. iOS调试技巧-断点调试

    Condational Breakpoints(条件断点) 普通断点只要执行到断点所在行就会停止程序,但是有时候我们想当满足一定条件时才停止程序.这个调试技巧在当你想要捕获一个循环中的变量的特定值或者 ...

  3. iOS SDK:iOS调试技巧

    为什么你的数组包含3个项目而不是5个?为什么你的游戏运行缓慢?这些都跟调试有关,调试是开发过程中必不可少的一部分.本文所列举了一些重要的调试功能(当然并不全面)可以帮你用更 "" ...

  4. [转]iOS SDK:iOS调试技巧

    为什么你的数组包含3个项目而不是5个?为什么你的游戏运行缓慢?这些都跟调试有关,调试是开发过程中必不可少的一部分.本文所列举了一些重要的调试功能(当然并不全面)可以帮你用更少的时间来解决bug问题. ...

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

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

  6. iOS各种调试技巧豪华套餐

    转载http://www.cnblogs.com/daiweilai/p/4421340.html#biyouji 目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Globa ...

  7. IOS各种调试技巧豪华套餐(好东西)

    目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints) 打印的艺术 NSLog 开启 ...

  8. iOS小技能:NSLog调试技巧

    文章目录 前言 I 自定义预处理宏 1.1 利用Configuration 配置不同的编译环境 1.2 发布模式关闭NSLog 1.3 __attribute__的应用 II NSLog调试技巧 2. ...

  9. Xcode的调试技巧

    转自:http://www.cnblogs.com/daiweilai/p/4421340.html#biyouji 目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Glob ...

最新文章

  1. 亲身经历揭露淘宝上主板交换的陷阱
  2. 30个数据可视化超级工具_Python5个数据可视化工具
  3. Scrapy 爬虫教程导航
  4. Paper Pal:一个中英文论文及其代码大数据搜索平台
  5. lintcode-137-克隆图
  6. 全球高校CS实力最新排行:清华AI界第二,中科院视觉领域最强
  7. flink读取不到文件_Flink读取本地文件
  8. 如何关闭谷歌的安全搜索?
  9. 服务器端身份验证技术,身份认证技术和协议的常用方法
  10. TomExam开源在线考试系统
  11. 什么是java代理?
  12. 领航跟随型编队(十四)室内定位技术概述
  13. 1. 系统符号与正则符号
  14. 东华大学计算机学院迎新晚会,东华大学2014-2015学年迎新晚会
  15. java.io.FileNotFoundException: D:\hadoop (拒绝访问。)
  16. GRCh38参考数据分析流程(转)
  17. Android手机崩溃日志查看
  18. 干货 | MAC地址可能泄露设备信息?一招教你隐藏!
  19. 重新安装了mysql,以前的数据库如何导入到新的数据库
  20. iOS App 审核被拒的原因搜罗

热门文章

  1. Linux 读取文件n行并删除方法
  2. contiki源码阅读之mmem.c
  3. MyBatis学习总结一
  4. 【又放洋屁了】文艺细菌发作了
  5. Java中抽象类、接口、父类直接的区别与联系
  6. 日常生活小技巧 --惠普战66三代 重装系统
  7. Java绘图模式概述
  8. 知识图谱实践篇(一):数据准备和本体建模
  9. 【David Silver强化学习公开课】-8:Integrating Learning and Planning
  10. Linux内存初始化(汇编部分)