java breakpoint 断点

IDEA breakpoint

1. 面板调出

  • 快捷键 ctrl + shift + F8, 面板内可以管理所有的断点

image

2.断点的基本概念

  • 断点: 是一种 附加在源代码上面 的特殊标记,在 调试模式(debug模式) 下可以触发 特定的动作 , 如打印线程调用栈信息、计算值、打印指定表达式的值等等。

3. 断点参数

  • 断点并不是孤立存在的, 它可以通过 参数 进行定制化, 这些叫做 断点参数.

4. 断点种类

  • Line breakpoint (行断点)
    • 在指定的行设置断点
  • Temporary line breakpoint (临时行断点)
    • 与行断点类似,不同之处在于该类型断点被激活之后会被立即删除
  • Field watchpoint (字段断点)
    • 读取 或者 修改 字段值时都会激活断点
  • Method breakpoint (方法断点)
    • 标记在方法那一行的断点,有自己特定的参数
  • Exception breakpoint (异常断点)
    • 当程序 抛出指定的异常 时会激活异常断点, 异常断点不需要手动打, 是 程序级别的.

5. 断点详解

行断点

  • Line breakpoint

    • 断点参数
      • Suspend (暂停) 提供线程阻塞的作用
      • Condition (条件) 只有书写的表达式为True,断点才会被激活
      • Log (日志)
        • "Breakpoint hit message":断点激活时输出提示日志
        • "Stack trace":断点激活时输出程序调用栈信息
        • "Evaluate and log":并在下面的输入框中输入"args",断点激活时会计算并输出变量 args 的值
  • Temporary line breakpoint

    • 与行断点区别在于勾选了 Remove once hit

字段断点

  • Field watchpoint
    • 在字段行进行创建,主要用于监控字段的读取和修改
      • watch (监控): “File Access” 读取时会激活断点,“File modification” 修改时会激活断点

方法断点

  • Method breakpoint

    • 在方法定义行进行创建,主要用于监控方法的进入和返回

      • “Method entry”:进入方法时激活断点

      • “Method exit”:出去方法时激活断点

      • “Emulated”:目前发现没啥卵用

Exception断点

  • Exception breakpoint
    • 异常断点不对应代码,只对应程序抛出的异常
      • Notifications
        • “Catch excetion”:程序在捕获(Try Catch)这个异常时激活断点
        • “Uncatch excetion”:不catch捕获异常时激活断点

6. 远程debug

// todo

supplement

// todo

posted @ 2021-06-01 22:23  Rainful  阅读(1980)  评论(0编辑  收藏  举报