什么是Debugjava
Debug能帮咱们作什么多线程
Debug的意义ide
按钮 | 快捷方式 | 说明 |
---|---|---|
Alt+F10 | 若是光标在其余行或者其余页面,点击按钮调到当前代码执行的行。 | |
F8 | 步过,一步一步往下走,若是这一行上有方法不会进入方法。 | |
F7 | 步入,若是当前行有方法,能够进入方法内部,通常用于进入自定义方法内,不会进入官方库方法。 | |
Alt + Shift + F7 | 强制步入,能进入任何方法,查看底层源码的时候能够用此方法进入官方类库。 | |
Shift + F8 | 不出,从步入的方法内退回到方法调用处,此时方法已经执行完毕,只是尚未完成赋值。 | |
回退断点。 | ||
Alt + F9 | 运行到光标处,能够将光标定位到须要查看的一行,而后使用这一功能,代码会运行至光标行,而不须要打断点。 | |
Alt + F8 | 计算表达式。 |
步入
一个方法后,不执行结束则不会退出该方法,使用步出
则能够直接结束该方法,调到该方法的调用处
public void a(){ >System.out.println("---程序执行开始"); >int c = add(1,2); System.out.println("---程序执行结束"); } public int add(int a,int b){ return a+b; }
步过:在 2 号断点,步过 不会进入add方法而直接得到 add方法的返回值;idea
步入:在 2 号断点,步入 会进入 add 方法,并一步一步执行,可是在 1 号断点,步入 不会进入 print 方法;线程
强制步入:在 1 号断点,强制步入会进入 print 方法;debug
步出:在 进入 add 方法后,若是不想看后面的代码,可使用步出,直接回到 a 方法;调试
步入
一个方法体以后,使用回退能够回到该方法的调用处,进而能够从新执行步入等调试(而不用重启Debug);
- 查看变量的几种方式
- 一、 Debug 的 Variables
- 二、 光标放在方法的 形参上面,而后点击 +号
- 三、 使用计算表达式功能,输入
user
,就能够显示用户变量,而且能够修改用户变量值;- 修改方法:直接输入
user.setUserTyp=("员工");
点击回车
public static void main(String[] args){ User user = new User("张三","123456","超级管理员"); login(user); } public static void login(User user){ switch(user.userType){ case "超级管理员": sout("是超级管理员"); } } //User 类 @Data public class User(){ String username; String password; String userType; }
- 使用条件:循环300次的断点,须要连点 300 次 步过;
- 使用方式:在
断点
处 右击,在Condititon
中输入i == 300
;