IOS调试—断点调试以及动态输出

在开发App的过程中。须要重复的改动和优化我们的代码,特别是当程序出现bug,须要高速的找出错误的原因,进行改动,以保证程序的正确运行。

  断点调试,是最经常使用最简单的一种调试方式,能够一步步跟踪程序运行的流程,得到变量的值,高速的找到错误的原因。

1、断点的基本操作

  断点的操作很easy,以下通过几张图来介绍一下怎样加入、删除、编辑以及使用断点。

2、全局断点

  设置全局断点(异常断点)。当遇到错误,Debug程序会自己主动定位到栈底信息,即跳到出错代码所在行。

 

3、条件断点

  设置条件断点。当满足条件的时候,才触发断点,适合用于循环结构中,能够准确的定位到某次循环。

4、符号断点

  符号断点能够中断指定函数的调用。也能够定位到出现异常的代码处。并打印异常信息。

 

5、NSLog输出

  在调试的过程中。常常通过NSLog在控制台输出须要的信息。

NSLog输出比較消耗系统资源。输出的数据也可能会暴露出App里的保密信息,所在在公布正式版本号之前必须把全部的NSLog输出都屏蔽掉。

  NSLog除了输出基本信息,对于结构体也能够一次性输出。

6、动态输出

  在程序的调试过程中。除了通过断点调试在Xcode下方查看变量的值,也能够通过NSLog在控制台输出想要的信息。使用NSLog输出须要在执行前就把想要输出的信息写好,假设有改变,须要又一次编译执行。效率很低。

  以下介绍一种很easy有用的方式。在程序执行的过程中,通过在控制台输入对应的指令,能够高速的打印输出须要的信息,很的方便。

  动态输出的指令有两个,p和po,与NSLog使用方法类似。p用于打印输出普通信息。po用于打印输出对象信息。

使用动态指令须要与断点配合使用。这样就行动态的打印输出程序运行到某个断点时的信息。

原文地址:https://www.cnblogs.com/yutingliuyl/p/7123070.html