zoukankan      html  css  js  c++  java
  • iOS Xcode 调试技巧

    一 NSLog调试

      官方文档:Logs an error message to the Apple System Log facility.

      即NSLog不是作为普通的debug log的,而是error log;其次,NSLog也不是printf的简单封装,而是Apple System Log(ASL)的封装

      ASL:大概是个系统级别的log工具,Syslog的替代版,提供了一系列强大的log功能,NSLog对它进行了高层次的封装

      详细的链接:http://blog.sunnyxx.com/2014/04/22/objc_dig_nslog/

      大致是说: NSLog比printf得效率低几十倍,因为NSLog会向ASL写log,同时向Terminal写log,而且同时会出现在Console.app(Mac 自带的软件,用NSLog打出的log在其中全部可见)中;不仅如此,每一次NSLog新建一个ASL client并向ASL守护进程发起连接,log后再关闭连接.而且,NSLog每次会将当前的系统时间,进程和县城信息等作为前缀打印出来,这也会引起消耗

       可在Debug中写一个宏:

    //使用自定义的NSLog,在调试的时候自动隐藏
    
    #ifdef DEBUG
    #define BSLog(...) NSLog(__VA_ARGS__)
    
    #else
    #define BSLog(...)
    #endif

     

    二 简单断点+po(p)命令调试

       断点时可以在Xcode的lldb调试区使用po或p命令打印对象或变量,对于当前栈帧中引用到的变量都是可见的,所以说假如只是看一眼某个对象运行到这是不是存在,是什么值的话,设个断点就够了,况且IDE已经把这个功能集成,鼠标放变量上就可以了

    三 Condition

      

  • 相关阅读:
    第三周psp
    作业2
    词频统计 SPEC 20170914 1 1 1 1 1
    psp1111
    第一周大作业1
    mongodb安装操作 (2018/11/12)
    中间件 express生成项目(2018/11/10)
    express环境搭建(2018/11/09)
    后端路由(2018/11/07)
    Node模块的基本使用(2018/11/06)
  • 原文地址:https://www.cnblogs.com/roxy/p/6097680.html
Copyright © 2011-2022 走看看