Symbolic Breakpoint使用
iOS开发来说,断点调试时必不可少的,以前一直在用“Exceptions breakpoint(全局或异常断点)”进行调试,但是最近写的程序有时异常崩溃后,会给出让用Symbolic Breakpoint 去调试,才开始注意到这个有叫做“符号断点”的东西,以前还真没怎么用过,找了下网上的文章,没发现特别好的,下面的这个文章做了些基本的应用介绍,把这个分享给大家,如果大家有好的关于这方面的文字请在评论中分享给我,谢谢!
转自:http://blog.csdn.net/xiepanqi/article/details/50890038 http://stackoverflow.com/questions/26389273/how-to-trap-on-uiviewalertforunsatisfiableconstraints
###使用
- 创建断点 symbolic breakpoint使用很简单,点击断点界面的“+”号,选择”Add Symbolic Breakpoint”就创建了一个断点
编辑断点 创建好后会直接弹出断点编辑界面,也可以通过右击断点选择”Edit Breakpoint…”进入编辑界面。
下面开始最重要部分,断点的可编辑项。 从编辑界面可以看到断点可编辑的项有Symbol、Module、Condition、Ignore、Action、Options。
Symbol 断点触发函数。有两种函数写法,一种是C函数样式,一种是OC方法样式。 C函数样式只需要写函数名,不用写后面的()和参数。例如NSLog 。 OC方法样式的[className methodName] className是类名,methodName是方法名(不区分类方法和实例方法)。如果写标记的这个类的方法被子类重写了则子类的方法也会触发断点。例如[UIViewController viewDidLoad] 。
Module 模块筛选。可以避免不同库中方法名或者函数名相同。
Condition 触发条件。这里可以添加一些指定触发条件,比如添加第一个参数不能为nil。这里$arg3代表第1个参数,$arg4代表第2个参数,以此类推。这里也可以调用方法来判断,但必须是类方法,并且返回值必须为BOOL类型。 样例:找出给[UIImage imageNamed:]传nil的代码。这里就需要设置Symbol为[UIImage imageNamed:],然后Condition设置为$arg3 == nil。这样在运行中如果遇到传nil就会触发断点。
Ignore 触发开始次数。设置这个值可以忽略前面指定次数的触发。
Action 触发活动。这里是当断点触发后要执行的动作,可以添加多条,执行的顺序是从上到下。一共有6种可执行类型。
AppleScript 会在断点触发的时候执行Mac OS X内置的一种功能强大的脚本语言,具体写法可以自行百度AppleScript。
Capture GPU Frame GPU帧捕获,具体作用还没研究出来。
Debugger Command 会在断点触发的时候执行LLDB命令。可以打印对象、修改对象值等功能。
Log Message 会在断点触发的时候打印日志。其中@exp@打印对象值,exp为对象名;%B表示断点名;%H表示当前断点触发的次数。
Shell Command 会在断点触发的时候执行Shell命令。
Sound 触发声音。感觉很炫酷,但没点用的功能。适合装逼。
Options 是否进入DEBUG界面。勾选这个断点触发后不进入DEBUG界面,断点打印日志或者声音断点一般都勾选。
Symbolic Breakpoint使用相关推荐
- iOS lldb调试
LLDB 初始 LLDB 是一个有着 REPL 的特性和 C++ ,Python 插件的开源调试器.LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中.调试器允许你在程序运行的特定时暂停它 ...
- Xcode Debugging
程序员日常开发中有大量时间都会花费在 debug 上,从事 iOS 开发不可避免地需要使用 Xcode.这篇博客就主要介绍了 Xcode 中几种能够大幅提升代码调试效率的方式. "If de ...
- Xcode 调试的正确打开方式——Debugging
此文章转自CocoaChina,先谢过原作者.源地址:http://www.cocoachina.com/ios/20150225/11190.html. 程序员日常开发中有大量时间都会花费在 deb ...
- [Cocoa]XCode的一些调试技巧
XCode的一些调试技巧 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循"署名-非商业用途-保持一致"创作公用协议 XCode 内置GDB,我 ...
- iOS 快速定位约束冲突
iOS 快速定位约束冲突 什么是约束冲突 当你使用 AutoLayout 布局,你添加的约束不满足或者会造成系统布局冲突的时候,控制台就会打印冲突日志. 约束冲突示例 [LayoutConstrain ...
- xcode快捷键大全
调整图片大小的时候按下:option键 让让控件跟内容一样大:command+= http://www.cr173.com/html/21801_1.html 一.关于运行调试 1.运行,停止,都在工 ...
- 你需要知道的Xcode Debug功能
做开发这么长时间,你的Debug能力是否还在NSLog和简单的端点了,最近看了几篇文章,补全了一下短板的一些Debug知识,来此标记一下.Xocde真的很强大. ####1. Add Exceptio ...
- iOS crash 崩溃问题的追踪方法
在调试程序的时候,总是碰到crash的bug,而且一追踪就是一些汇编的代码,让人特别疑惑. 一般情况下可以通过增加两天断点来解决此问题,方法介绍如下: 基本上有错误分为以下几种类型: signal(S ...
- (二期)IOS调试技巧
资料:http://www.cnblogs.com/daiweilai/p/4421340.html#undefined 一.断点 基本操作:添加 .移除.监视(Watch)某个变量. 普通断点 Ed ...
最新文章
- 电脑开机时光驱咔咔响_电脑蓝屏了我该怎么办!
- Nuxt.js asyncData 多请求
- 【BZOJ 2298】 2298: [HAOI2011]problem a (DP)
- 富文本编辑器的配置使用
- JAVA复习5(TreeSet)
- SX1280抗WIFI强干扰电磁环境能力解析
- 文本摘要综述-bertsum、BottleSum、TextRANk
- 谷歌浏览器flash崩溃怎么办 Google Chrome flash崩溃解决方法
- ansible 简单使用
- 找出满足要求的三位数
- 插入的数据不能时时查询到_漫谈 LevelDB 数据结构(一):跳表(Skip List)
- H3c服务器升级硬盘固件,H3C交换机升级固件版本
- 计算机仿真电路实验感想,单相桥式全控整流电路实验心得体会
- min-width、max-width属性中min-content、max-content的含义,css中minmax()用法、1fr单位的含义----使页面具有相应性的属性以及属性值
- 什么是EIP、ESP、EBP
- python黑魔法指南_python黑魔法一天从那个入门到进阶
- C++ 后室·无限#1 游戏制作实录(RPG类型游戏)
- HTML5常用标签【知识点整理】
- 在ubuntu下烧写映像文件到SD卡--基于三星210开发板
- 【系统分析师之路】2014年系统分析师上午综合知识真题