Xcode断点调试技巧

2018-03-29  本文已影响25人  薄凉_简书

Xcode为开发者提供了非常方便简单的调试工具,节省开发时间。
我个人习惯,每新建或者接手一个项目,都会设置一个全局断点,程序在抛出异常的时候基本会定位到异常代码。

1.Xcode左侧导航选择断点 --> 左下角选择“+” --> Exception Breakpoint异常断点
2.很多程序员在调试数据时,会在某处代码写一个NSLog,或者打一个断点Printing description,再或者在控制台输入po xxx等 LLDB 命令来查看数据,这些方法都很浪费时间
其中最不可取的就是NSLog

首先我们要知道NSLog不是简单的封装了printf,NSLog的大量使用会严重影响程序的运行效率,这个可以从苹果的API中找到关于NSLog的详细介绍。

Logs an error message to the Apple System Log facility.

NSLog就不是设计作为普通的debug log的,而是error log。

NSLog也并非是printf的简单封装,而是Apple System Log(后面简称ASL)的封装。

在使用NSLog 时,NSLog会向ASL写log,同时向Terminal写log,而且同时会出现在Console.app中(Mac自带软件,用NSLog打出的log在其中全部可见);不仅如此,每一次NSLog都会新建一个ASL client并向ASL守护进程发起连接,log之后再关闭连接。

总之,因为NSLog的大量使用(特别在循环中出现NSLog)对我们程序的运行造成严重的不良影响
3.用自动断点任务来代替Printing description 和po xxx等 LLDB 命令
上一篇 下一篇

猜你喜欢

热点阅读