1. Ctrl+Shift+i:
1 Person father = new Person(); 2 father.setName("father"); 3 System.out.println(father.getName()); 4 5 Person children = new Person(); 6 children.setName("children"); 7 father.setChildren(children); 8 if (father.getChildren().getName() != null) { 9 System.out.println(father.getChildren().getName()); 10 }
假如我只想看father.getChildren()的结果是不是为空,那么就可以在debug模式下选中father.getChildren(),然后按Ctrl+Shift+i就可以查看其结果。
2. 查看数据结构
1 Map<Integer, String> map = new HashMap<Integer, String>(); 2 map.put(1, "一"); 3 map.put(2, "二"); 4 map.put(3, "三"); 5 map.put(4, "四"); 6 map.put(5, "五");
想查看map的数据结构,可以点击这里切换视图进行查看
3. 条件Debug
1 for (int i=1; i<11; i++) { 2 System.out.print(i + " "); 3 }
假如只想在i=7的时候断住,就可以在第二行下断点,然后右击断点,选择:Breakpoint Properties
debug运行,可以看到1-6已经打印出来,在i=7的时候被断住了
4. 异常断点
1 System.out.println(1/0);
点击debug窗口的这个按钮
添加相应的异常类
debug运行,被断住
5. expressions
1 Person father = new Person(); 2 father.setName("father");
expressions窗口可以定向查询你想要看到的东西,例如这里你想看father对象的名称,可以的expressions窗口输入father.getName(),回车就可以看见相应的值:
6. display:
该窗口下可以对相应的代码进行更改,例如对father对象的名称进行更改,可以在display窗口输入:father.setName("test"),然后选中该代码,点击这个按钮然后你会发现该值已经改变了
当然也可以对值进行输出