As we know 当我们启动多个线程时,哪个线程内的程序先执行,完全靠CPU的心情(爸爸一样的存在),这样就会造成一个问题:无法像单线程那样按照执行顺序debug。现象就是你只管打断点,线程之间不乱跳算我输,程序举例如下: 老师提出问题后,四个同学开始抢答: 这么多同学抢答,让坚守岗位30多年的沐芳老师觉得再这样下去课堂...
注:好奇心是人类进步的阶梯,如果想知道为啥这个功能叫Drop Frame,而不是类似Back To Previous 之类的,可以去翻翻JVM的书,JVM内部以栈帧为单位保存线程的运行状态,drop frame即扔掉当前运行的栈帧,这样当前“指针”的位置,就自然到了上一帧的位置。 3.多线程调试 多线程同时运行时,谁先执行,谁后执行,完全是看CP...
打开断点配置面板 断点面板 添加一个异常断点并选择需要需要断点的异常类型 选择异常断点 选择异常 异常断点面板 当程序运行时触发此异常则会断点。 发生异常,进入断点 断点回退 IDEA断点不能一步步回退,只能回退到目标方法被调用的地方。 回退 远程JVM调试 IDEA配置 菜单Run - Edit Configurations 增加远程JVM调试(Remo...
Field watchpoint(属性断点):读取或者修改属性时会激活属性断点 Method breakpoint(方法断点):它是标记在方法那一行的断点,有自己特有的属性参数 Exception breakpoint(异常断点):当程序抛出指定异常时会激活异常断点。与行断点不同,异常断点不需要与源代码映射(不需要打在具体某一行代码上),因为异常断点应用程序级别的...
jdk8:java -jar-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9999xxx.jar jdk8以上版本:java -jar-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:9999xxx.jar 准备SpringBoot项目# 准备一个接口# packagecom.example.demo.controller;importorg.springframework.web.bind.an...
IntelliJ IDEA - 远程 remote debug 教程实战和要点总结 远程调试,特别是当你在本地开发的时候,你需要调试服务器上的程序时,远程调试就显得非常有用。 JAVA 支持调试功能,本身提供了一个简单的调试工具JDB,支持设置断点及线程级的调试同时,不同的JVM通过接口的协议联系,本地的Java文件在远程JVM建立联系和通信。此篇...
SocketAttach就是第二种方式,美少年来了(远程程序运行),停在了断点上,等我开窗(触发debug动作)。Socket Listen是第一种,我先开窗,美少年再往我这边开走。7 debug语法中的参数含义:-Xdebug是通知JVM工作在DEBUG模式下-Xrunjdwp是通知JVM使用(java debug wire protocol)来运行调试环境。该参数同时了一系列的...
我们先来看下IDEA中Debug模式下的主界面。 Debug:启动Debug功能。 断点:可在左边栏单击,以打上断点,以Debug方式运行到此时,程序会停下。 服务按钮:可以在这里关闭服务、启动服务、修改Debug配置,设置断点等。 调试按钮:共8个其中包括:Show Execution Point、Step Over (F8)、Step Into (F7)、Force Step Into、St...
从configuration中搜索remote模版,点击右上角的create configuration,就创建好了一个远程debug启动方式.Debugger mode选择Attach to remote JVM即可,它还有一个选项是Listen to remote JVM,意如其名嘛,一个是主动附着到启动的程序,一个是被动监听程序。ip和端口不用多说,笔者直接用的本地jar包,所以填了localhost...