分享人:北京分院 于博韬
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
我们程序员一生与Bug纠缠不清,自然一辈子离不开调试
今天的话题就讲程序员与Debug不得不说的故事
首先我们看调试
百度上讲,调试是保证所提供的设备能够正常运行的必须程序,所有费用由设备提供商负担。
编好程序后,用各种手段进行查错和排错的过程。作为程序的正确性不仅仅表现在正常功能的完成上, 更重要的是对意外情况的正确处理。从心理学的角度考虑,开发人员和调试人员不应该是同一个人。
说道调试一定离不开Debug
今天就重点讲讲Debug的故事
DEBUG是一种计算机程序。
那我们就先讲一个趣味的小故事
马克2号(Harvard Mark II)编制程序的葛丽丝·霍波(Grace Hopper)是一位美国海军准将及计算机科学家,同时也是世界最早的一批程序设计师之一。 有一天,她在调试设备时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。 于是,霍波诙谐的把程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,竟成为后来计算机领域的专业行话。
但是Debug其实是DOS系统中的一个程序,而且比较底层,涉及汇编,不是我们想要的
那我们想要的是什么?
Debugger
那么问题来了
Debugger是什么?干什么的?怎么用?
先说是什么以及干什么?
我们经常使用到的“Debugger”只是用来帮助我们进行Debug的工具,“Debugger”本身不能自动完成“Debug”。
我们可以回想一下我们是如何进行Debug的,在进行Debug的过程中,我们通过Debugger来完成以下工作:
(1)监视“Debug对象”的状态;
(2)控制“Debug对象”的运行;
这些工作可以为“发现Debug对象中存在的问题”以及“对解决问题方案的检验”提供有用的信息。 监控工作有时只需要由软件就可以完成,有时不仅需要软件支持,还需要硬件的支持。 Debugger除了被用来Debug,还被用来帮助我们理解“Debug的对象”内部结构,因为我们用到的Debugger能够完成对“Debug对象”的监控工作, 在监控的过程中可以获取“Debug对象”动态特征的信息,这对我们理解其结构是非常有用的。
接下来说怎么用
首先我是用的IDEA编译工具,所以这次小课堂只讲解IDEA自带的Debug工具,其他工具请自行了解
然后,我们再说下Debug常用的按键(仅限IDEA)
F7:单步调试,会进入方法体,如果该方法体还有方法,则不会进入该内嵌的方法中
F8:单步调试,不会进入
F9:跳至下一断点
Shift+F8:跳出
Alt+F8:可以通过在 Debug 的状态下,选中对象,弹出可输入计算表达式调试框,查看该输入内容的调试结果 。
暂时知道这么多就已经可以了
憋说话,用心感受我的操作~
畅所欲言
百度
各种blog
感谢观看,如有出错,恳请指正
BY : 北京分院 于博韬