乐趣区

关于后端:在-IDEA-中使用-Debug简直太爽了

  1. Debug 简介为何要用 Debug? 眼看 12 月马上就要过来了,张三正在大学宿舍床上躺着,此刻的他既开心又发愁。开心的是马上就能和女朋友一起跨年了,发愁的是本人 java 期末大作业一堆谬误。张三英语不好,看不懂控制台的报错语句,所以越想越焦躁。忽然,张三如同有了灵感,关上 IDEA 兴奋地敲了起来。正参加五黑的室友见状,不免有些好奇,都跑去看他的电脑:

    原来张三正在复制粘贴一堆打印语句。一室友切实看不下去了,问他:“你调试程序为啥不必 Debug ?”“你写这么多 system 语句,不麻烦吗?最初交作业,你还要把这些打印语句一个个都删掉,太浪费时间了。”所以咱们写程序不要一遇到问题就写一堆 system 打印语句,真的很浪费时间。而应用 Debug 能够追踪程序的执行过程,疾速定位程序异样的地位,帮忙咱们疾速找到出错的代码。2. 开启 Deubg2.1 Debug 模式下的界面咱们先看下 IDEA 中 Debug 模式下的界面:

    以 Debug 模式启动服务。在开发中,我个别会间接以 Debug 模式运行程序,不便随时调试代码。断点,咱们能够在行数栏左侧间接单击设置,也能够应用快捷键 Ctrl+F8 设置或者勾销断点。Debug 窗口:当申请达到第一个断点后,Debug 窗口会被激活。调试 Debug 按钮:咱们在调试过程中次要应用这几个按钮,鼠标悬浮按钮下面能够显示快捷键。Debug 服务按钮:在这里咱们能够开启、敞开 Debug 服务等。办法区:这里会显示调试过程中执行的办法。参数区:这里会显示以后断点前所有参数的值。2.2 开启 Debug 先设置一个断点,而后以 Debug 模式运行:

    注:咱们还能够在执行程序的过程中增加 / 删除断点。3. Debug 中罕用调试按钮

    3.1 跳转到以后执行代码的行

    咱们先在一个页面设置一个断点,而后再切换到其余页面,点击这个按钮,发现又跳转到了执行代码所在的行:

    3.2 步过

    步过就是一步一步往下走,跳过所有办法:

    下面的例子中即使是遇到了 system 打印办法和 test1 办法,也会跨过来持续往下执行。3.3 步入

    在执行的过程中如果遇到了自定义的办法,能够进入办法外部,不会进入 JDK 类库中的办法。

    下面的例子中,遇到了 system 办法会主动跨过来,然而遇到了自定义的办法,则会进入到办法中执行,等执行完则会返回到办法的调用处。3.4 强制步入

    不论遇到 JDK 的类库办法还是自定义办法,都会进入到办法中执行。

    下面的例子中不论遇到了 JDK 类库中的 system 办法还是自定义的 test1 办法,都会进入到办法中执行。3.5 步出

    步出就是从进入的办法外部退回到办法调用处。

    下面的例子中咱们进入到了 test1 办法的外部,当点击步出按钮后,又回到了调用 test1 办法的中央。3.6 回退断点处

    回退断点处意思就是能够回退到指定办法的调用处。

    下面的例子中咱们顺次执行了 test1、test2、method2 办法,然而咱们能够抉择间接回退到 test1 办法的调用处。步出和回退断点的区别:都是回到办法的调用处步出只能回到以后办法的调用处回退断点能够回到指定办法的调用处,前提是该办法曾经被执行过。3.7 定位到光标处

    如果咱们写的代码有几百行,一步一步往下执行也比拟费时间。这时候咱们能够先把光标放到一个指定地位,而后点击定位光标处按钮,这时候代码就会立刻执行到光标处了。

    下面的例子中咱们把鼠标光标挪动到了上面某一行,而后点击定位光标处按钮,代码立即执行到了这一行。

    3.8 计算表达式

    计算表达式能够帮忙咱们计算一些表达式的返回值。

    从下面的例子中能够看出,咱们能够在调用某些办法之前应用一些自定义参数去计算该办法的返回值。4. 查看参数 4.1 参数所在行前面显示

    4.2 光标悬浮查看光标悬浮到参数上,显示以后变量的信息,我常常应用这种办法,特地不便。

    4.3 在 Variables 里查看这里显示以后办法里的所有变量。

    4.4 在 Watches 里查看在 Watches 里,点击 New Watch,输出须要查看的变量:

  1. 条件断点有时候咱们代码中会蕴含很多 for 语句,然而应用断点调试的时候会执行很屡次。这时候咱们能够抉择断点,鼠标右键设置一个条件,只有满足该条件时,断点才会执行到此处。

    下面的例子中咱们给断点设置一个条件:i==50,所以以 Debug 模式运行该程序的时候咱们发现此时 i 就是 50。6. Debug 服务设置按钮 6.1 执行到下一个断点处直到完结

    该按钮的作用:如果上面有断点,就跳转到下一个断点处。如果没有,程序就执行完结。

    6.2 断点静音

    有时候咱们在执行到某一步的时候曾经晓得了后果,然而前面还有一堆断点。我想让这些断点生效,然而第二次跟踪我还想用这些断点,这时候就能够应用断点静音。

    6.3 查看 / 革除断点

    咱们在执行完代码后要革除所有断点,然而一个个去革除太浪费时间,这时候就能够应用这个按钮查看所有设置的断点,或者革除所有断点。

    6.4 返回到第一个断点的中央

    代码执行到某一行想返回到第一个断点处:

  2. 多线程调试因为 CPU 执行线程的程序是随机的,然而咱们应用断点调试能够自定义执行下一个线程。首先将两个线程的断点都设置成线程模式:

    而后在办法区抉择指定的线程去执行:

退出移动版