前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >对于代码调试(debugging)的释义以及进行调试的基本方法小结

对于代码调试(debugging)的释义以及进行调试的基本方法小结

作者头像
白鹿第一帅
修改2021-03-07 20:43:37
7220
修改2021-03-07 20:43:37
举报

文章目录

  • 前言
  • 一、何为代码调试?
  • 二、常见的代码调试方式
    • 2.1、手工跟踪(hand trace)
      • 2.1.1、适用范围
    • 2.2、使用调试工具
      • 2.2.1、Java 中的调试工具
      • 2.2.2、调试工具具备的特性
  • 总结

前言

我们在项目开发过程中,经常遇到需要进行调试的代码模块。对于初学者而言,手工跟踪最为有效和方便,一方面可以重新对于系统的内部逻辑进行一次梳理,另一方面还可以找到产生问题的地方。而对于高阶的开发者而言,手工跟踪的方式极大地浪费了时间,所以需要调试工具的帮忙。通过本文我将为大家介绍何为代码调试?如何进行手工跟踪和使用调试工具进行代码调试,调试工具又具备什么特性?


一、何为代码调试?

查找和改正错误的过程称为调试(debugging)。

调试的一般途径是采用各种方法逐步缩小程序中bug所在的范围。

二、常见的代码调试方式

2.1、手工跟踪(hand trace)

手工跟踪(hand trace)程序(即通过读程序找错误),也可以插入打印语句,显示变量的值或程序的执行流程。

2.1.1、适用范围

这种方法适用于短小、简单的程序。

2.2、使用调试工具

对于庞大、复杂的程序,最有效的调试方法还是使用调试工具。

2.2.1、Java 中的调试工具

JDK 包含了一个命令行调试器 Jdb,结合一个类名来调用该命令。Jdb 本身也是一个 Java 程序,运行本身的一个 Java 解释器的拷贝。

2.2.2、调试工具具备的特性

所有的 Java IDE 工具,比如 Eclipse 和 NetBeans 包含集成的调试器。调试器应用让你可以跟踪一个程序的执行。他们因程序的不同,但是大都支持以下特征中的多数:

  • 一次执行一条语句:调试器允许你一次执行一条语句,从而可以看到每条语句的效果。
  • 跟踪进入或者一步运行过一个方法:如果一个方法正在被执行,你可以让调试器跟踪进入方法内部,并且一次执行方法里面的一条语句,或者你可以让调试器一步运行过整个方法。如果你知道方法是可行的,你应该一次运行过整个的方法。比如,通常都会一步运行过系统提供的方法,比如,System.out.println
  • 设置断点:你可以在一条特定的语句上面设置断点。当遇到一个断点时,你的程序将暂停。你可以设置任意多的断点。当你知道程序错误从什么地方可能开始的时候,断点特别有用。你可以将断点设置在那条语句上,让程序先执行到断点处。 关于使用Eclipse进行断点调试的方法请移步这里——如何使用 Eclipse 进行断点调试?
  • 显示变量:调试器让你选择多个变量并且显示他们的值。当你跟踪一个程序的时候,变量的内容持续更新。
  • 显示调用堆栈:调试器让你跟踪所有的方法调用。当你需要看到程序执行的流程的宏观图景的时候,这个特征非常有用。
  • 修改变量:一些调试器允许你在调试的过程中修改变量的值。当你希望用不同的示例来测试程序,而又不希望离开调试器的时候,这是非常方便的。

总结

本文给大家介绍了什么是代码调试,作为开发者,初学者和高阶应如何选择代码调试的方式,不同的代码调试方式又有何种不同,代码调试工具应该具备什么特性可以满足开发者需求。而现在我们常见的代码调试工具多集成到了开发 IDE 中,如 Eclipse 和 IDEA。在本文的 2.2.2 节给大家引入了如何使用 Eclipse 进行断点调试,那么你会使用 IDEA 进行代码调试吗?


我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 前言
  • 一、何为代码调试?
  • 二、常见的代码调试方式
    • 2.1、手工跟踪(hand trace)
      • 2.1.1、适用范围
    • 2.2、使用调试工具
      • 2.2.1、Java 中的调试工具
      • 2.2.2、调试工具具备的特性
  • 总结
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档