20、断点调试(debug)

逃离我推掉我的手 2024-04-01 17:15 174阅读 0赞

1、基本介绍:

(1)断点调试是指在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后你可以一步一步往下调试,调试过程可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下,进行分析从而找到这个Bug

(2)断点调试也能帮助我们查看java底层源代码的执行过程,提高我们的java水平

(3)在断点调试过程中,是运行状态,是以对象的运行类型来执行的

2、快捷键:

F7:跳入方法内

F8:逐行执行代码(跳过)

shift+F8:跳出方法

F9:rsume,执行到下一个断点

3、案例:

(1)

980cff3dface4bc4b78c4a82a56d92a0.png

(2)追源码(看java设计者是怎么实现的,可以提高编程思想)

技巧:将光标放在某个变量上,可以看到最新的数据

idea debug如何进入jdk源码?

方法1:

使用force step into;快捷键alt+shift+F7

方法2:

idea→Setting→Build,Execution,Deployment→Debugger→Stepping→把”Do not step into the classes”中的java.*,javax.*取消勾选即可→然后把光标放在某个变量上,点击“步入”的键即可进入源码中

9bf54502156840828b0d7651e2d920a9.png

(3)如何直接执行到下一个断点F9(在debug过程中动态地下断点,随意地快进

e6bfd796ac374a81b0b6d4f0922c5239.png

下完断点后,点击左侧的绿键即可运行

4、练习题

  1. package Debug;
  2. //使用断点调试的方法追踪下一个对象创建的过程
  3. //另外也使用断点调试来查看动态绑定机制是如何工作的
  4. public class DebugExercise {
  5. public static void main(String[] args) {
  6. //创建对象的流程
  7. //1、加载Person信息
  8. //2、初始化 2.1默认初始化 2.2显式初始化 2.3构造器初始化
  9. //3、返回对象的地址
  10. Person1 p1=new Person1("jack",18);
  11. System.out.println(p1);
  12. }
  13. }
  14. class Person1{
  15. private String name;
  16. private int age;
  17. public Person1(String name, int age) {
  18. this.name = name;
  19. this.age = age;
  20. }
  21. public String getName() {
  22. return name;
  23. }
  24. public void setName(String name) {
  25. this.name = name;
  26. }
  27. public int getAge() {
  28. return age;
  29. }
  30. public void setAge(int age) {
  31. this.age = age;
  32. }
  33. @Override
  34. public String toString() {
  35. return "Person{" +
  36. "name='" + name + '\'' +
  37. ", age=" + age +
  38. '}';
  39. }
  40. }

5299a75f1e9f4cb3a66a1867d54bb8fb.png

发表评论

表情:
评论列表 (有 0 条评论,174人围观)

还没有评论,来说两句吧...

相关阅读

    相关 20断点调试debug

    1、基本介绍: (1)断点调试是指在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后你可以一步一步往下调试,调试过程可以看各个变量当前的值,出错的话,调试到出

    相关 Idea的debug断点调试

    关于Idea的debug模式下线程断点的总结: 断点介绍: ![img][] 如图所示,断点可以为所有断点和线程断点,每种断点还可以设置条件,条件满足时才会进入该断点

    相关 eclipse中断点调试debug

    几乎没有用过debug模式,每次想要知道结果都是sysou一下。记得曾经问乱码问题,jfinal说打断点调试看在哪里出错。简单记下普通调试。 1.在需要查看的地方打断点,方法