美文网首页
5个Xcode断点提示

5个Xcode断点提示

作者: 开心人开发世界 | 来源:发表于2019-09-28 05:54 被阅读0次

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

相关文章

  • Xcode断点调试 po 提示错误

    xcode断点调试po提示错误 原因及解决方法:Product -> Scheme -> Edit Scheme ...

  • 5个Xcode断点提示

    Xcode断点使我们能够调试和查找令人讨厌的错误的解决方案 没有断点,在代码中到处都有很多打印语句。我们可能都知道...

  • Xcode调试技巧

    一. 断点 Xcode支持很多种不同类型的断点,包括普通断点、符号断点、异常断点、watch断点、OpenGL E...

  • Xcode编程 详细断点补充

    只会左键断点?是时候试试这样那样断点了 编码不能没调试,调试不能没断点(Break Point)。XCode的断点...

  • iOS 常用调试方法:断点

    级别: ★☆☆☆☆标签:「Xcode断点调试」「iOS breakpoint」「iOS全局断点」作者: Xs·H...

  • 断点运行IQKeyboardManager每次都报错

    问题: 在Xcode一打断点就会在IQKeyboardManager断点在//Loading IQToolbar,...

  • xcode汇编入门

    一、xcode断点如何显示汇编代码 二、添加symbolic断点 self为UIViewController对象,...

  • Xcode断点

    symbolic breakpoint -> Symbol -> CGPostErrorxcode会定位到崩溃...

  • 你可能不知道的 5 个 Xcode 断点小知识

    你可能不知道的 5 个 Xcode 断点小知识你可能不知道的 5 个 Xcode 断点小知识

  • iOS调试 - 断点

    XCode 拥有强大的断点(Breakpoint)调试功能。 普通断点 在代码行旁边点击,就能添加一个断点,再次点...

网友评论

      本文标题:5个Xcode断点提示

      本文链接:https://www.haomeiwen.com/subject/wnlouctx.html