zoukankan      html  css  js  c++  java
  • 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用于打印输出对象信息。

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

  • 相关阅读:
    python--数据可视化
    python--数据处理与探索
    如何使用.NET开发全版本支持的Outlook插件产品(四)——进阶探讨
    如何使用.NET开发全版本支持的Outlook插件产品(三)——全面控制
    对于.NET Socket连接的细节记录
    如何使用.NET开发全版本支持的Outlook插件产品(二)——完善插件
    如何使用.NET开发全版本支持的Outlook插件产品(一)——准备工作
    不建议双挖
    不要挖门罗
    关于PoW工作量证明的不公平
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7123070.html
Copyright © 2011-2022 走看看