在开发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

IOS调试—断点调试以及动态输出相关推荐

  1. android lldb断点,iOS lldb断点调试

    Xcode的使用中总是离不开调试这个环境,在一年多的iOS开发时间中,我更多地依赖于XCode本身提供的GUI工具来进行调试,而对LLDB敬而远之,这段时间好好学习了LLDB的使用,发觉我错过了太多东 ...

  2. html文件设置断点调试,断点调试

    断点调试 使用 ES2015+ 特性来开发 Node.js 项目可以带来巨大的便利,但同时由于有些特性现在还不支持,需要借助 Babel 编译,运行的代码实际上是编译后的代码,这样给调试带来很大的麻烦 ...

  3. 认真阅读完这篇文章熟练掌握关于IDEA断点调试操作(图文详解)

    设置断点 选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可,再单击取消断点 ctrl + shift + f8 查看取消断点 开启调试会话 shift + f9 调试模式,开始断点调试 断点调 ...

  4. chatgpt赋能python:Python断点调试指南:让调试更高效

    Python断点调试指南:让调试更高效 在Python编程中,调试是一个必不可少的环节.当我们面临代码出现错误或程序不按预期运行时,如何快速找到问题,解决它们呢?这时候断点调试就发挥了重要的作用.本篇 ...

  5. 20170702-变量说明,静态方法,类方法区别,断点调试,fork,yield协程,进程,动态添加属性等。。...

    概念: 并行:同时运行 并发:看似同时运行  json后任然中文的问题 import jsond = {"名字":"初恋这件小事"}new_d1 = json. ...

  6. iOS之Xcode断点调试

    目录 一.Breakpoint(断点)调试 1.Edit Breakpoint (1)Condition (2)Ignore (3)action (4)Options 2.Disable Breakp ...

  7. network怎么断点调试_Windows 网络编程:调试 API

    一次性进群,长期免费索取教程,没有付费教程. 教程列表见微信公众号底部菜单 进微信群回复公众号:微信群:QQ群:460500587 微信公众号:计算机与网络安全 ID:Computer-network ...

  8. vue 浏览器调试 样式如何定位样式_浏览器断点调试-程序员的必修课

    一.源码调试/debugger方法 1.1控制台调试按钮介绍 Resume script execution恢复断点调试.常用在一个方法调用多个js文件(适用冗长js代码使用).点击这个会直接跳转到下 ...

  9. Swift 首次调试断点慢的问题解法 | 优酷 Swift 实践

    作者:段继统 & 夏磊 调试断点是与开发体验关系最为密切点之一,优酷iOS团队在外部调研时候发现,大量国内的iOS APP研发团队也遇到了类似的问题.考虑到国内Swift如火如荼的现状,我们尽 ...

最新文章

  1. Java面试通关要点汇总集之核心篇参考答案
  2. 容灾系统的云中嬗变-【软件和信息服务】2013.12
  3. AWS安装CDH5.3-CentOS6.4中关键操作步骤
  4. axios与ajax对比,vue体系中axios请求对比jquery-ajax请求
  5. 怎么在条码打印软件中修改数据库连接
  6. Wannafly挑战赛22: C. 多项式(大整数)
  7. MySQL与Redis缓存问题-开课吧
  8. web安全day17:天天都在说的中间人攻击到底是啥
  9. 多年前的csdn账号找回啦
  10. IE中使用Google Chrome Frame运行HTML 5
  11. 达梦数据库的表空间及用户管理
  12. 静候 CSDN 佳音
  13. php写抢红包,红包生成函数(微信抢红包)
  14. Java 下载压缩文件
  15. 测试开发:Docker常用命令分享
  16. SaaS是什么?企业采购SaaS有什么好处?
  17. Uva1218 Perfect Services
  18. 以太网学习(2)-- 网络协议简介
  19. 嵌入式操作系统风云录:历史演进与物联网未来Chapter1 第1章
  20. 读者言论经典 [ 光影人像 东海陈光剑 的博客 ]

热门文章

  1. 关于java代码中的注释问题。(类中方法的注释,我们一般都要写上这个方法的文档(doc),方法的参数也要有它的文档)
  2. C语言输入中10A20B,C语言实验报告第3章答案.doc
  3. 【Oracle】设置快速恢复区及reset快速恢复区
  4. 网络管理与维护作业2
  5. Android 微信分享后留在微信,没有回调的问题解决方案
  6. redis缓存穿透,缓存击穿,缓存雪崩原因和解决方案
  7. Android Studio support 26.0.0-alpha1 Failed to resolve: com.android.support:appcompat-v7:27.+ 报错解决方法
  8. 解决CentOS6.x或RedHat Linux 6.x版本不能通过System eth0以固定IP访问外网的问题
  9. 如何将图例排除在情节之外
  10. win11联网不能打开网页怎么办 windows11联网不能打开网页的解决方法