文章目录
前言
我们在项目开发过程中,经常遇到需要进行调试的代码模块。对于初学者而言,手工跟踪最为有效和方便,一方面可以重新对于系统的内部逻辑进行一次梳理,另一方面还可以找到产生问题的地方。而对于高阶的开发者而言,手工跟踪的方式极大地浪费了时间,所以需要调试工具的帮忙。通过本文我将为大家介绍何为代码调试?如何进行手工跟踪和使用调试工具进行代码调试,调试工具又该具备什么特性?
一、什么是代码调试?
查找和改正错误的过程称为调试(debugging)。
调试的一般途径是采用各种方法逐步缩小程序中 bug 所在的范围。
二、常见的代码调试方式
2.1、手工跟踪(hand trace)
手工跟踪(hand trace)程序(即通过读程序找错误),也可以插入打印语句,显示变量的值或程序的执行流程。
2.2、手工跟踪的适用范围
这种方法适用于短小、简单的程序。
2.3、使用调试工具
对于庞大、复杂的程序,最有效的调试方法还是使用调试工具。
JDK 包含了一个命令行调试器 Jdb,结合一个类名来调用该命令。
Jdb 本身也是一个 Java 程序,运行本身的一个 Java 解释器的拷贝。
2.4、调试工具具备的特性
所有的 Java IDE 工具,比如 Eclipse 和 NetBeans 包含集成的调试器。调试器应用让你可以跟踪一个程序的执行。他们因程序的不同,但是大都支持以下特征中的多数:
- 一次执行一条语句:调试器允许你一次执行一条语句,从而可以看到每条语句的效果。
- 跟踪进入或者一步运行过一个方法:如果一个方法正在被执行,你可以让调试器跟踪进入方法内部,并且一次执行方法里面的一条语句,或者你可以让调试器一步运行过整个方法。如果你知道方法是可行的,你应该一次运行过整个的方法。比如,通常都会一步运行过系统提供的方法,比如,
System.out.println
。 - 设置断点:你可以在一条特定的语句上面设置断点。当遇到一个断点时,你的程序将暂停。你可以设置任意多的断点。当你知道程序错误从什么地方可能开始的时候,断点特别有用。你可以将断点设置在那条语句上,让程序先执行到断点处。
对 Eclipse 断点调试内容感兴趣的同学可以点击——Eclipse 答疑:如何使用 Eclipse 进行断点(Breakpoints)调试?
- 显示变量:调试器让你选择多个变量并且显示他们的值。当你跟踪一个程序的时候,变量的内容持续更新。
- 显示调用堆栈:调试器让你跟踪所有的方法调用。当你需要看到程序执行的流程的宏观图景的时候,这个特征非常有用。
- 修改变量:一些调试器允许你在调试的过程中修改变量的值。当你希望用不同的示例来测试程序,而又不希望离开调试器的时候,这是非常方便的。
总结
本文给大家介绍了什么是代码调试,作为开发者,初学者和高阶应如何选择代码调试的方式,不同的代码调试方式又有何种不同,代码调试工具应该具备什么特性可以满足开发者需求。而现在我们常见的代码调试工具多集成到了开发 IDE 中,如 Eclipse 和 IDEA。同时给大家引入了如何使用 Eclipse 进行断点调试,作为拓展你会使用 IDEA 进行代码调试吗?
我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!