遇到bug不要怕,手把手教你debug

这篇具有很好参考价值的文章主要介绍了遇到bug不要怕,手把手教你debug。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一. 产生异常的代码

我们先来看下面这段代码?你觉得会有什么问题吗?

package com.qf.test05;
public class Test03 {
    public static void main(String[] args) {
        //定义一个变量
        int i =1;
        while (i<=5){
            System.out.println("喜欢java\t"+i);
        }

    }
}

二. 查看运行结果

上面代码的运行结果如下图所示,与你预想的结果一样吗?

遇到bug不要怕,手把手教你debug

很明显,上面的代码有问题!那该怎么解决呢?我们可以使用debug功能来进行调试。

三. Debug断点调试的使用

1. Debug模式

debug是供程序员使用的程序调试工具,它可以用域查看程序的执行流程,也可以用域追踪程序执行过程来调试程序。

2. debug调试面板介绍

遇到bug不要怕,手把手教你debug

接下来我就给大家解释一下debug调试面板的功能:

①==>重新运行程序,会关闭服务后重新启动程序;

②==>更新程序,一般在你的代码有改动后可执行这个功能;

③==> 关闭程序;

④==> 查看所有的断点;

⑤==> 哑的断点,选择这个后,所有断点变为灰色,断点失效;

⑥==> 步过,一行一行地往下走,如果这一行上有方法不会进入方法;

⑦==>步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法;

⑧==>强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法;

⑨==>步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值;

⑩==>行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。

3. Debug调试步骤

了解了这些基本的功能之后,我们再来看看debug的调试步骤:

  1. 设置断点;

  2. Debug执行;

  3. 查看代码的执行流程 以及观察变量值的变化;

  4. 发现问题 以及解决问题

3.1 如何加断点

选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可。

遇到bug不要怕,手把手教你debug

3.2 运行加了断点的程序

在代码区域直接右键Debug执行。

遇到bug不要怕,手把手教你debug

3.3 如何查看调试结果

我们可以通过查看Debugger窗口和Console窗口来查看调试结果。

遇到bug不要怕,手把手教你debug

3.4 解决问题

通过观察程序的执行以及变量值的改变,可以发现循环变量没有发生改变 ,所有使用debug很快就可以查找到错误。

3.5 解决后的代码

遇到bug不要怕,手把手教你debug

四. java断点调试总结

现在我们就把debug模式的使用给大家介绍完了,最后总结如下:

A. 条件断点:在有逻辑条件判断处设置断点 例如:多分支if swicth...; 

B. 变量断点:在关键的变量上设置断点 观察变量的值的变化; 

C. 方法断点:在方法的入口处设置断点 可以观察方法的执行的结果以及流程; 

D. 异常断点:就是在发生异常的地方设置断点 确定异常发生的情况。文章来源地址https://www.toymoban.com/news/detail-494158.html

到了这里,关于遇到bug不要怕,手把手教你debug的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手把手教你做主成分分析

    主成分分析是一种降维处理的统计方法,实践中有三个应用场景: 信息浓缩:将多个分析项浓缩成几个关键概括性指标; 权重计算:利用方差解释率值计算各概括性指标的权重; 综合评价:基于主成分得分构造综合得分数据,用于综合评价。 接下来,以一个具体案例来学习

    2024年02月01日
    浏览(57)
  • 手把手教你落地DDD

    一、前言 常见的DDD实现架构有很多种,如经典四层架构、六边形(适配器端口)架构、整洁架构(Clean Architecture)、CQRS架构等。架构无优劣高下之分,只要熟练掌握就都是合适的架构。本文不会逐个去讲解这些架构,感兴趣的读者可以自行去了解。 本文将带领大家从日常的

    2024年02月16日
    浏览(49)
  • 手把手教你写go单元测试

    ​ 在 Go 语言中,单元测试是一种测试方法,用于验证代码的某个独立单元是否按预期功能,它的目的是确保代码的每个组成部分都在独立测试的情况下运行正常。 ​ 在我们对项目新增一个新功能时,最好就要养成写单元测试的好习惯,这样可以有助于提高我们代码的质量、

    2024年04月14日
    浏览(45)
  • 手把手教你Linux的网络配置

    目录 网络连接测试 测试Linux虚拟机是否与主机连接 测试主机是否与虚拟机连接 网络连接模式 桥接模式 NAT模式 仅主机模式 修改静态IP 修改 IP 地址后可能会遇到的问题 配置主机名 测试Linux虚拟机是否与主机连接 首先可以在windows界面,windows + R键输出cmd打开命令行,输入  

    2024年02月03日
    浏览(52)
  • 手把手教你小程序反编译

    1.反编译工具unveilr :百度网盘链接:https://pan.baidu.com/s/10Wle8CwvBq54GPWcbEnxLQ 提取码:bivh   解压即可用。 2.微信开发者工具:https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html 1.获取小程序存储文件夹 (1)打开PC端微信设置,在文件管理中找到存储路径,选择打开文件夹。

    2024年04月12日
    浏览(42)
  • 手把手教你怎么写顺序表

    目录 一、顺序表有什么功能? 二、实现顺序表的各个功能 1.前置准备 2.初始化顺序表 3.顺序表扩容 4.打印顺序表 5.增加顺序表成员 5.1尾增 5.2头增  6.删除顺序表中成员的内容 6.1尾删 6.2头删  7.查找成员  8.修改(替换) 9.插入(在目标位置插入成员) 10.定向删除(将目标位置的成

    2024年02月15日
    浏览(64)
  • 手把手教你如何使用SimiliarWeb

    在之前的“手把手教你如何使用Google Trends”文章中我们讲到从事跨境电商的卖家第一步遇到的问题是“客户在哪里?”该如何推广我的产品?因此若想自己的店铺做大做好,则需要工具来帮助分析市场行情,根据市场行情调整自己的业务状况。小编在上篇中已经讲解了三个特

    2024年02月09日
    浏览(61)
  • 手把手教你如何使用Docker

    我们在公司开发中,会有开发环境,测试环境,上线环境, 比如我们开发人员开发好了一个项目,在开发环境中运行正常,但测试人员拉到测试环境就跑不起来【jdk版本等】,或者上线的时候运行不起来,这时候就要为每个机器配置一个环境,那运维人员不得累死?【哈哈,

    2024年02月10日
    浏览(66)
  • 手把手教你kali渗透Metasploitable

    2.ifconfig查看Metasploitable的IP: 端口爆破:FTP、SSH等 工具:Hydra 备用字典:user.txt: pass,txt: 一、 爆破FTP //注意路径是桌面还是Desktop 二、 爆破SSH 利用爆破得到的用户名和密码,进行远程连接测试: 成功连接: 三、端口渗透: 利用metasploit 然后在kali linux中进行渗透: 启动msf msf

    2024年02月06日
    浏览(41)
  • 手把手教你玩Hugging Face

    Hugging Face起初是一家总部位于纽约的聊天机器人初创服务商,他们本来打算创业做聊天机器人,然后在github上开源了一个Transformers库,虽然聊天机器人业务没搞起来,但是他们的这个库在机器学习社区迅速大火起来。目前已经共享了超100,000个预训练模型,10,000个数据集,变成

    2024年02月06日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包