专栏首页java工会贯穿程序员一生的必备开发技能——debug

贯穿程序员一生的必备开发技能——debug

1.什么是debug

debug是一种运行模式,用来跟踪程序的走向,以及跟踪程序运行过程中参数的值的变化。

2.debug的作用

debug一般用来跟踪代码的运行过程,通常在程序运行结果不符合预期或者出现异常的情况下使用。所以使用debug模式可以很好的跟踪问题,帮助程序员处理bug。对每个程序员而言,基本上每天都要用到debug功能。

3.debug的使用

各种开发工具的debug基本上都大同小异,下面以Intellij Idea的debug使用为例。

3.1debug模式运行程序

bug的中文意思就是小虫子,图中的小虫子图标就是debug模式启动程序,eclipse的运行按钮旁边一样的有一个小虫子图标。

3.2程序中打上断点

上图中的红色的小圆点就是断点,用鼠标在那一行的前面点击一下就行了,取消断点再次点击就行了。

3.3step over单步调试

在debug视图中点击step over单步执行,快捷键为f8。单步执行的意义在于执行打断点的那一行,后续每执行一步可以再按一下f8。可以在这一步查看每一个执行步骤的变量的值,变量的值可以在Variables里面查看,在代码的视图窗口中每个变量的后面也会显示变量的值。

3.4step into进入方法

点击step into,程序向下执行一步,如果当前行代码中有待执行的函数,这一步将会进入到函数内部去执行,然后又可以进行单步执行调试。这一步的快捷键是f7。右便蓝色向上的那个step out的按钮就是跳出当前方法的调试,返回到之前的断点执行到的地方。

3.5纯断点执行

纯断点执行就是只程序只在断点的地方进入调试模式,中间的执行过程直接执行过去,这样可以方便多个断点的调试。

3.6查看程序中所有的断点

点击那两个红点合起来的按钮,就可以查看程序中所有的断点,复选框选中就是使断点生效,不勾选则失效。

3.7查看变量的值

已经执行到过的代码每一行将会将行内的变量的值显示在当前行的后面,Variables视图窗口中也可以查看每个变量的值。

到此,idea的debug基本上就说完了,几乎所有的程序员都会使用的这个技能。如果你还不会,赶紧打几个断点调试一下吧。

最后,如果你有仍何开发上面的问题都可以和我交流沟通。

本文分享自微信公众号 - java工会(javagonghui)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 每天上班都刷乘车码,你知道这里面有什么高科技吗?

    现在各大城市都推出了刷乘车码坐公共交通,让我们免于携带公交卡,避免忘记带公交卡的尴尬。上班高峰期塞车是正常现象,乘车的人那么多,为什么大家都刷乘车码却不卡呢?试...

    三哥
  • java内部类的全面总结

    三哥
  • 给Java程序猿们推荐一些值得一看的好书

    三哥
  • .NET深入解析LINQ框架(二:LINQ优雅的前奏)

    例子说明:假设我有一个表示学生的对象类型还有一个表示学生集合的类型。学生集合类型主要就是用来容纳学生实体,集合类型提供一系列的方法可以对这个集合进行连续的操作,...

    王清培
  • tensorflow学习笔记(四十三):使用 tfdbg 来 debug

    tensorflow学习笔记(四十三):使用 tfdbg 来 debug 由于 tensorflow 在训练的时候是在后台运行的,所以使用 python 的 d...

    ke1th
  • 结构体与共用体

    1、结构体的定义和使用 前面我们已经讨论过字符数组与字符串,字符指针也可以指向一个字符串,可以用字符串常量对字符 指针进行初始化。例如: char *str...

    编程范 源代码公司
  • Cypress系列(59)- 实时调试和中断

    https://www.cnblogs.com/poloyy/category/1768839.html

    小菠萝测试笔记
  • 教你在Tableau中绘制蝌蚪图等带有空心圆的图表(多链接)

    本文将通过分享多种方法,包括成功的与失败的尝试,来讲解如何在Tableau中创建蝌蚪图等带有空心圆的图表。

    数据派THU
  • DNS Prefetch初认识

    今天在看一个后台框架时,发现这样的代码: <link rel="dns-prefetch" href="//0.s3.envato.com"> <link re...

    吴裕超
  • 利用Docker安装Web前端性能测试工具Sitespeed.io

    Sitespeed.io满足了一个完整的Web性能测试工具所需的3个关键功能: 1)使用真实的浏览器测试Web站点,模拟真实的用户进行请求连接,收集以用户为中心...

    飞天小子

扫码关注云+社区

领取腾讯云代金券