xCode7.3断点奔溃
昨天闲来无事更新了一下xCode,今天调试的时候遇到一个诡异的问题,打断点调试,一进入断点就奔溃,后来发现只需要将Build Settting中的Enable Clang Module Debugging设置为NO即可~
希望对有升级到7.3的同志有帮助~
Xcode断点使我们能够调试和查找令人讨厌的错误的解决方案
没有断点,在代码中到处都有很多打印语句。我们可能都知道断点的基本原理,但还是有更多发现!
Xcode中的断点是什么?
可以将断点放置在特定的代码行中,并在执行过程中暂停应用程序以检查该点的状态。可以在应用程序运行之前和运行期间的任何时间设置断点。
可以在断点导航器中找到概述,其中显示了所有激活和禁用的断点。调试栏包含一个断点激活按钮,用于临时禁用断点以免暂停您的应用程序。
Xcode中的蓝色断点激活按钮
1.用户定义的断点
对于创建的每个新Xcode项目,您可能要做的几件事之一就是添加方便的断点,以帮助您调试许多错误。这是一个多余的过程,可以通过Xcode中的用户定义断点来解决。
在Xcode中移动断点
移动断点后,它将显示在其自己的部分中,其中包含所有用户定义的断点。
Xcode中的用户断点概述
这将使您在所有打开的Xcode项目中都可以使用断点。这包括您创建的项目以及从Internet下载的项目。任何项目!
2.通过Git共享断点
有时,您发现自己正在查看同事的工作流程,并且意识到他有一些出色且有用的断点。
您可以让他通过Git共享这些断点,而不必询问他有关设置相同断点的指示。
通过Xcode中的Git共享断点
这会将断点移动到带有共享断点的自己的部分。这使获得所有共享断点的概述非常容易。
断点导航器中的共享断点概述
断点是共享的,保持断点的存在也是共同的责任。
因此,如果您的一位同事决定删除该断点,则一旦您从Git中获取最新更改,该断点也将从您的断点列表中删除。
3.使用调试器命令操作的异常断点
我使用多年的用户定义断点之一是异常断点。
当引发或捕获特定类型的异常时,将触发异常断点。每当遇到异常断点时,我都会po $arg1在单击后立即键入该语句objc_exception_throw以获取有关引发的异常的更多信息:
在抛出异常时打印出更多信息
使用断点中定义的操作,可以很容易地将其自动化。遇到断点时,将执行所有已定义的操作,这可能是调试应用程序的宝贵方法。
在异常断点中输出参数
当然,现在您将直接将其设为用户定义的断点,因此您不必在每次创建新的Xcode项目时都创建一个断点!
4.符号断点
在调试过程中,通常会通过控制台中的消息告诉我们创建符号断点的过程。自动布局相关的符号断点可能是最著名的一个:
// Will attempt to recover by breaking constraint <NSLayoutConstraint:0x600000d7aad0 UIView:0x7fbe55e95420.leading==UILabel:0x7fbe55e95d20.leading + 8 (active)>// Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
当调用特定的方法或函数时,将触发符号断点。可以从断点导航器中添加它们:
image.png
添加符号断点
您在断点中填充关键字,只要调用该符号,它将暂停您的应用程序以开始调试。
为UIViewAlertForUnsatisfiableConstraints添加符号断点
在这种特定情况下,它使您可以快速导航到激活了无法满足的约束的代码。漂亮整齐!
但这不是约束错误断点吗?
足够令人惊讶的是,这些错误没有触发约束错误断点。根据Apple论坛上的该帖子,此断点仅适用于AppKit。
有用的符号断点,用于集合视图布局调试
如上所述创建一个断点,但是使用UICollectionViewFlowLayoutBreakForInvalidSizes符号可以调试集合视图流布局中的任何布局问题。
尽管调试这类问题仍然不容易,但这至少会为您指明正确的方向,并为您提供调试的起点。
5.用测试失败断点捕获失败的测试
当测试失败时,您通常会开始浏览测试列表以查找失败的测试。尽管这是可行的,但是如果您在流程中,效率并不是很高。
为此,我们具有测试失败断点,该断点将直接跳至测试中的失败断言,从而使您可以直接开始修复失败的测试。
添加测试失败断点
结论
而已!更好地使用断点的五个技巧。这是加快调试工作流程的好方法。
翻译自:https://medium.com/better-programming/5-xcode-breakpoints-tips-you-might-not-yet-know-13ed4976ce3e
上一篇:怎么给Word文档添加封面
下一篇:一般花絮用什么音乐比较好啊?
发表评论