经验性问题,一般当程序崩溃或和预期的行为不一样是,我们会对程序进行调试。调试的方法也多种多样,一般来说:
断点调试,让程序在执行某一行代码是停止下来,然后来检查当前程序是否正常。断点的种类很多,可以帮助我们快速定位到问题发生时的上下文。
- 普通断点
- 符号断点
- 异常断点
- watch断点
- 条件断点
运行时变量:查看运行时变量值
运行时堆栈:查看函数的调用关系,顺序
日志:通过在程序中添加NSLog代码,在控件台中输出显示日志。
静态代码检查:通过对代码静态分析,找出代码潜在的错误,如内存泄漏、空引用、未使用函数等。
动态分析:通过Instruments工具跟踪分析程序运行时的数据
扩展阅读: