文章目录

前言:为什么需要Debug一、基本步骤二、基本知识(一)调试操作(二)运行操作(三)断点状态与分类断点类型断点状态

前言:为什么需要Debug

  对于一个编好的程序执行过程中出现错误,当其较为简单时,可以直接看出错误,但若其比较复杂,就需要借助程序调试来查找错误。

一、基本步骤

添加断点启动调试单步执行观察变量和执行流程,找到并解决问题

二、基本知识

(一)调试操作

下面将依次介绍:

显示执行点:点击后光标将跳转到当前正在执行(或者说是将要执行)的代码行。步过:继续向下执行代码行,不会进入方法内部。步入:继续向下执行代码行,若代码行中有自己定义的方法、构造器等,则会进入内部。强制步入:继续向下执行代码行,若代码行中有方法、构造器等,无论是自己定义还是jar包当中,都会进入内部。智能步入:如果当前行有多个方法同时被执行,IDEA 将会询​​问你要进入哪个方法。步出:从步入的方法内执行完该方法,然后退出到方法调用处。单步跳出代码块:运行完当前代码块所有代码并退出代码块。运行到光标处:直接运行到光标处。

(二)运行操作

重新运行:重新运行程序,会关闭服务后重新启动程序。恢复程序:运行到下一个断点处,若无断点,则运行完程序并退出。暂停程序:暂停程序,启用Debug,一般是使用恢复程序后才可使用(程序运行很快的话,很难有机会使用)。停止:立即停止当前正在运行的程序,直接与JVM断开连接。查看断点:查看所有断点,可查看断点种类、设置断点过滤等等(后面有案例)。静音断点:是所有断点图标变为灰色,在调试时不起作用,若想单独设置断点,可在断点上右键点击"已启用"。

(三)断点状态与分类

断点类型

IDEA中有四种类型的断点:

行断点:可作用在任何一行代码上,图标为红色圆形。当程序执行到设置断点的行时将会被触发。行断点可设置出发的相关条件,如,在for浔中的i=6时使用行断点,就可进行设置: 方法断点:当断点被标记在方法的定义上时生效,图标为红色菱形,在方法的进入和退出时将被触发(可自行设置)。 变量断点:只能作用在变量的定义上,图标为红色眼睛。当程序读取或者写入被标记的变量时,断点均会触发。异常断点:当程序抛出相对应的异常时将会触发,作用范围为全局,图标为红色闪电,当抛出异常时,程序会定位到抛出异常的语句。可在"查看断点"中进行设置。

断点状态

常规状态:默认(原始)状态。 禁用状态:断点暂时处于禁用状态,不会被执行。已验证状态:编译器会检查断点的设置是否合理。如果是,则将断点标记为已验证。静音状态:断点暂时处于静音状态,不会被执行;其与禁用状态功能类似,不同点在于使用场景。依赖状态:当一个断点的触发依赖于另一个断点时,显示为依赖状态。挂起状态:挂起状态有两种类型,第一种是挂起全部线程,第二种是只挂起当前线程。当断点状态设置成了第二种方式后,只有当前线程会被堵塞,其他线程(程序)会正常执行,这在Spring Boot程序的测试中十分有用。无效状态:断点的设置不是合理的,被标记的代码永远不可能被执行到。警告状态:如果断点的设置是合理的,但是存在其他问题,则编译器会向您发出警告。例如当被标记的方法可能不会被执行到时。

注,本文部分参考自文章: https://blog.csdn.net/qq_35760825/article/details/125542220

精彩文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。