博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS调试—断点调试以及动态输出
阅读量:6228 次
发布时间:2019-06-21

本文共 761 字,大约阅读时间需要 2 分钟。

在开发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用于打印输出对象信息。

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

转载地址:http://eatna.baihongyu.com/

你可能感兴趣的文章
nginx事件模块 -- 第五篇 epoll add
查看>>
共享栈基本操作
查看>>
Java 生成 PDF 文档
查看>>
深度学习:用生成对抗网络(GAN)来恢复高分辨率(高精度)图片 (附源码,模型与数据集)...
查看>>
缓存与数据库双写,不一致问题及解决方案
查看>>
Swift基础-部分关键字说明与示例
查看>>
【云服务月刊】2018年第1期:阿里云客户服务部总经理张颖杰:用心聆听,服务见智...
查看>>
99%的Java程序员都不知道的Spring中的@Transactional注解的坑
查看>>
堆排序 Heap Sort
查看>>
golang map 底层部分理解
查看>>
3.22(终)
查看>>
第61节:Java中的DOM和Javascript技术
查看>>
排名前十的程序员应用软件曝光,你有用过吗?
查看>>
关于android中监控u盘插入与拔出的困惑与思考
查看>>
Golang 并发爬虫 爬取某著名游戏媒体
查看>>
java(1)
查看>>
支持向量机(Support Vector Machine)
查看>>
react native FlatList内嵌自己的Component不刷新的处理
查看>>
spring boot 加载过程分析--ConfigurationClassPostProcessor
查看>>
Python基础教程,第九讲,异常处理
查看>>