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界面,断点打印日志或者声音断点一般都勾选。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值