Java程序调试
来自CloudWiki
目录
任务描述
- 在Eclipse中通过设置断点利用逐语句的方式调试网络购书系统的主目录显示及运行。
- 设置调试断点:
- 运行到断点后进入调试界面:
任务实现
- 第一步:在eclipse中创建工程Project0204,然后把任务2.3中实现的MainClass.java代码复制到src节点中。
- 第二步:在eclipse的编辑器对应代码行的左侧栏中双击设置断点
- 第三步:选择“Run——Debug”菜单命令,Eclipse会提示改变到透视图的对话框,单击“Yes”按钮,进入Debug透视图,并在第一个断点处暂停(此时具有断点的语句并没有执行)。
- 第四步:根据具体的要求分别按“Resume(F8)”、“Step Into(F5)”、“Stop Over(F6)”执行相应的语句。
程序调试的概念
BUG:程序故障。
DEBUG:排除程序故障。
1937年,美国青年霍华德·艾肯找到IBM公司为其投资200万美元研制计算机,第一台成品艾肯把它取名为:马克1号(mark1),又叫“自动序列受控计算机”,从这时起IBM公司由生产制表机,肉铺磅秤,咖啡研磨机等乱七八糟玩意儿行业,正式跨进“计算机”领地。为马克1号编制程序的是哈佛的一位女数学家葛丽斯·莫雷·霍波,有一天,她在调试程序时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍波诙谐的把程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,后来成为计算机领域的专业行话。从而debug意为排除程序故障的意思。
Ecllipse调试
断点
断点:是一个信号,它通知调试器在某个特定点上暂时将程序执行挂起。
程序挂起时,进入中断模式。
进入中断模式并不会终止或结束程序的执行,程序可以随时继续执行。
设置断点的方式
- 在需要设置断点的代码行左侧栏处双击。
- 选中要设置断点的代码行,选择“Run——Toggle Breakpoint”命令。
- 在需要设置断点的代码行左侧栏处单击右键,在弹出的快捷菜单中选择“Toggle Breakpoint”命令。
继续(Resume)
快捷键F8。
继续程序执行直到遇到下一个断点,或者下一个接收用户输入的语句,或者程序末尾。
逐过程(Step Over)
快捷键F6。
执行当前高亮的代码行后,会停在调用语句的下一条语句,程序再次进入挂起状态。
逐语句(Step Into)
快捷键F5。
执行当前高亮的代码行时,如果不存在方法调用,会停在调用语句的下一条语句,程序再次进入挂起状态。(此时与逐过程命令一样)
执行当前高亮的代码行时,如果存在方法调用,调试器会进入调用方法的内部,并会停在方法体内第一行语句,程序再次进入挂起状态。(此时与逐过程命令不同)
跳出(Step Return)
快捷键F7。
当在一个方法内部调试过程中,执行跳出命令时,
调试器会完成该方法的执行,并会停在调用该方法的语句的下一条语句,程序再次进入挂起状态。
查看变量的值
- 可以通过数据便签查看变量的值
数据便签时应用程序调试期间用于查看对象和变量 的一种高级便签消息。 程序挂起时,将鼠标移到对象或者变量上方时,会 看到它们的当前值。
- 可以通过Debug透视图中的Variable选项卡查看变量的值
练习
程序编程时,利用设置断点的方式调试解决程序运行时出现的BUG。
课后:通过网络查询了解更多DEBUG的方式方法、了解JUnit调试。