iOS调试——基础(一)

//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.另一种查看线程的方法是在导航面板中查看,如图所示:


借助这个面板可以查看线程情况,该面板只显示大概的调用堆栈,没有上一种查看方式反应得情况详细。

 




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值