//Xcode调试工具
1.编码过程中出现bug在所难免,有时在找出这些bug上所耗费的精力和时间不比重新创建一个工程少多少。调试程序可以帮助我们找出程序中的bug。
2.Xcode提供了强大的代码编辑、性能分析和调试功能,我们应该熟练掌握这些功能。
*******************************
定位编译错误
1.使用Xcode工具开发时,很容易出现定位编译错误,而大部分的错误都会在编写代码时提示给程序员,一部分编译错误等到编译的时候才能够显示出来。
2.出现错误的位置会显示红色圆形感叹号。
3.程序错误分为编译错误和逻辑错误,前者是在编译时暴露出来的,可以通过Xcode定位到这些错误,编译器还会给出错误原因提示;后者是程序运行结果与我们期望的不一致,这些错误可以通过调试和测试找出。
4.编译Xcode工程时,可以使用Ctrl+B来完成,也可以通过Product->Build来完成。
5.除了显示编译错误外,Xcode还可以显示警告。每一个警告我们都不应该忽略,它可能引起应用运行时的崩溃。在Xcode中显示警告,会显示出黄色三角形感叹号,如:
6.点击导航面板中得警告按钮,可以打开问题导航面板,如图:
在导航面板中,可以查看所有工程中出现的所有错误和警告。此外,导航面板还给出了相关的提示和问题解决方案。
*******************************
查看和显示日志
1.在Xcode中编译、运行、测试和分析工程时,都会有日志输出。查看和分析这些日志对我们的变成非常有用。
2.在导航面板中点击Show the Report Navigator即可显示日志导航面板。如图:
在导航面板中,左侧显示的每次的操作,右侧是对应的操作的日志。
3.在日志中会显示正常消息和问题消息,正常消息是绿色圆形对号,问题消息包括警告和错误。
4.点击每一行结尾的显示项目图标,会列出该项目的详细信息如:
5.日志分析很有用。
****************************
调试工具栏
1.在Xcode编辑区下方,有一个调试窗口,分为调试工具栏、窗口显示按钮、变量查看窗口和输出窗口等等几个部分,如图所示:
调试工具栏中分别为:隐藏按钮、设置断点、继续执行按钮、单步跳过按钮、单步进入按钮、单步跳出按钮 、模拟位置按钮和跳转栏。
continue:离开Debugger继续执行程序,可以会中断在下一个端点。
Step Over(跳过):跳过(执行)这一样,然后停在下一行。
Step Into(跳入):目前在的这一样有函式,跳进去。
Step Out(跳出):目前在的这一行是在某个函式里面,跳出去到呼叫函式的程式
其中,继续执行按钮、单步跳过按钮、单步进入按钮、单步跳出按钮称为“执行控制按钮”
隐藏按钮可以隐藏或者显示调试窗口。
模拟位置按钮可以向模拟器设备发送虚拟的位置坐标,它应用于位置服务应用中得测试。
使用跳转栏,可以跳转到具体工程下某个类的方法中,能够跟踪程序的运行过程。
对于执行控制按钮,在断点挂起以后,点击继续执行按钮可以继续执行。单步跳过按钮是单步执行,遇到方法和函数时不进入。单步进入按钮则进入到方法或者函数里。单步跳出按钮在进入到方法和函数里面,想跳回到原来调用它的地方时使用。
***********************************
输出窗口
1.使用窗口显示按钮,可以控制同时显示左右两个窗口(变量查看窗口和输出窗口)或者只是其中一个窗口。
2.输出窗口有三项选择:All Output、Debugger Output、Target Output。如图:
在程序调试时,可以在Debugger Output窗口中执行编译器的调试命令,如图:p命令表示计算基本数据类型的表达式,po命令是计算对象类型的表达式。
在Target Output窗口中,可以显示程序出错和异常等信息,以及通过一些函数输出的信息,如图:
*********************************
变量查看窗口
1.变量查看窗口位于调试窗口的左侧,用于查看变量和寄存器变量。通过点击窗口左上角的小三角,可以选择查看变量的范围——Auto、Local Variables和All Variables、Registers、Global and Statics。如图:
Auto:查看经常使用的变量。
Local Varibals:查看本地变量。
All Variables,Registers,Global and Statcis:查看全部变量,包括寄存器变量和全局变量等。图标A是自动变量,S是静态变量,R是寄存器,L是本地变量。
2.在变量查看窗口选择变量后,点击鼠标右键,会弹出一个快捷菜单,从中可以进行一些操作。例如:选择Edit Value菜单项,此时代码可以进入修改状态。如图:
此外,也可以通过快捷菜单打印变量,从弹出的快捷菜单中选择Print Description of “datas”菜单项,此时在变量输出窗口打印输出变量:
******************************
查看线程
1.iOS和Mac OS X是支持多线程的,作为开发工具的Xcode,要能够查看线程的情况。
2.在Xcode中,有两种方式可以查看线程。
3.一个是在跳转栏中选择线程下拉列表。如图所示:
选择某个线程后,会显示一个代码运行的堆栈。
选择堆栈中得方法,此时编辑窗口会进入该方法,如果该方法没有源代码,将显示汇编语言。
4.另一种查看线程的方法是在导航面板中查看,如图所示:
借助这个面板可以查看线程情况,该面板只显示大概的调用堆栈,没有上一种查看方式反应得情况详细。