美文网首页程序员
Xcode 调试之 Breakpoint

Xcode 调试之 Breakpoint

作者: 花与少年_ | 来源:发表于2017-05-16 16:53 被阅读61次

NSLog 应该是最基本的调试方法,但是 NSLog 也有一些问题,比如

  • 需要提前设置宏,在 release 版本中避免疯狂打印
  • NSLog 比较耗费资源,Apple 本身设计其为打印错误日志,是对系统级打印的封装

为了避免这些问题,我们可以利用 Xcode 中的断点调试工具调试,也可以利用 lldb 断点调试,这篇我们先看看 Xcode 中的打断点吧~

调试断点,依赖于父进程和子进程之间的通信,打断点实际是在被调试的程序中,改变断点附近程序的代码,这个断点使得被调试的程序,暂时停止,然后发送信号给父进程(调试器进程),然后父进程能够得到子进程的变量和状态,达到调试的目的。

Breakpoint

打一个断点谁都会,但是除了单单打断点之外,我们还可以通过编辑这个断点,设置一些触发、过滤条件来调试代码:

编辑 Breakpoint
Condition

设置条件断点,写一些简单的判断,使程序在满足一定条件才会停下来

Ignore

可以忽略前n次,到n+1次再停下来

Action

给断点设置一些事件,里面包含很多事件


Breakpoint 中的 Action 选项
AppleScript

AppleScript是苹果公司开发的一种脚本语言,可以用来控制运行于Mac OS上的程序,也可以写成独立运行的Applet。类似于英语,直观,易读。
我们简单设置一段AS:


在运行到断点时,在当前应用输出 Hello World! 停下时,Xcode 弹出 Hello World!
Capture GPU Frame

用于OpenGL ES调试,捕获断点处GPU当前绘制帧。

Debugger Command

这个与在控制台中输入 LLDB 命令一致,输入 po + OC对象,打印这个OC对象,输入 p + 基本数据类型变量,打印这个变量。
下一篇文章我会对这个方面进行总结,敬请期待。

Log Message

在 Log Message 中输入命令,可以直接在控制台输出,有意思的是,还可以选择 Speak message ,让 siri 帮你读出这些信息。


LogMessage 打印信息
Shell Command

在 Shell Command 中输入Shell 命令,到此断点时,会运行输入的
Shell命令。

输入ls,列出当前目录下文件
Sound

还有一个比较好玩的 Action 是 Sound,它会在触发断点时发出响声,我们可以在一些不能时刻关注到的代码设置这个断点,运行时,发出响声提示我们一些信息。

设置当前如果断网了,"叮"一声

全局断点

除了给特定代码行设置断点以外,我们还可以设置全局断点,如图:

全局断点
Exception Breakpoint

异常断点在每次程序发生了异常时,都会被中断,一般用来捕获一些未知的异常,这个大家应该都比较熟悉。

Symbolic Breakpoint

符号断点可以在运行到设置的特定函数时,被中断。

设置Symbolic 为viewWillAppear:就会在所有控制器调用viewWillAppear时中断

讲完了 Breakpoint 的调试技巧,下一篇我们说一下 lldb 的调试方法,总的来说,Breakpoint 能做的,lldb 也能做;而 lldb 能做的,Breakpoint 可不一定能做,所以敬请期待哟😉

相关文章

  • Xcode 调试之 Breakpoint

    NSLog 应该是最基本的调试方法,但是 NSLog 也有一些问题,比如 需要提前设置宏,在 release 版本...

  • iOS 常用调试方法:断点

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

  • 使用symbolic breakpoint调试

    #iOS开发高级技巧#iOS调试技巧非常多,个人最喜欢的是xcode内置的 symbolic breakpoint...

  • iOS Xcode Breakpoint(断点)调试

    iOS开发开发者掌握断点调试功能非常重要,基于Xcode9来说说我认识的Breakpoint。 如下图,点击行号就...

  • 使用 Reveal 调试项目

    使用Reveal来调试模拟器中的我们的App的界面 1、在Xcode中添加 Symbolic Breakpoint...

  • iOS调试 - 断点

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

  • iOS开发之Xcode常用调试技巧总结

    iOS开发之Xcode常用调试技巧总结 iOS开发之Xcode常用调试技巧总结

  • xcode调试技巧

    Xcode调试技巧之:LLDB Xcode调试技巧之:LLDB 1.输出视图层级关系(这是一个被隐藏的命令):po...

  • 断点调试

    1,运行xcode,终端打印 Make a symbolic breakpoint at UIViewAlertF...

  • Swift 常用快捷键

    iOS开发之Xcode常用调试技巧总结 Xcode 常用快捷键 lldb技巧:

网友评论

    本文标题:Xcode 调试之 Breakpoint

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