中国国际贸易单一窗口网站,网站多久会被百度收录,xyz域名,做百度网站需要什么条件目录 一、概述 二、debug操作分析 1、打断点 2、运行debug模式 3、重新执行debug 4、让程序执行到下一次断点后暂停 5、让断点处的代码再加一行代码 6、停止debug程序 7、显示所有断点 8、添加断点运行的条件 9、屏蔽所有断点 10、把光标移到当前程序运行位置 11、单步跳过 12、… 目录 一、概述 二、debug操作分析 1、打断点 2、运行debug模式 3、重新执行debug 4、让程序执行到下一次断点后暂停 5、让断点处的代码再加一行代码 6、停止debug程序 7、显示所有断点 8、添加断点运行的条件 9、屏蔽所有断点 10、把光标移到当前程序运行位置 11、单步跳过 12、可以跳入方法内部的执行一行代码操作 13、跳出方法 14、直接执行到光标所在位置 15、在控制台改变正在debug的数据 一、概述 debug调试也叫断点调试在程序的某一行打上断点则在debug模式下运行到断点位置时会暂停便于程序员观察代码的执行情况学会debug有助于在程序运行未达到理想情况时对程序的各个流程进行分析本文只详细描述了debug的一些基本的常用操作如果有缺漏欢迎评论区留言~ 二、debug操作分析 1、打断点 在程序的某一行位置数字右边的空白部分使用鼠标左键点击一下出现红点即为打上了一个断点 2、运行debug模式 方式一 选中要进行debug的程序点击右上角的debug按钮 方式二 在要进行debug的程序处右键选中下图选项 3、重新执行debug 点击下图按钮会关闭当前debug的程序并重新启动debug 4、让程序执行到下一次断点后暂停 点击下图的按钮debug会继续运行程序直到遇到下一次断点后暂停 举例 下图是一个循环操作在打断点的位置点击上面说的按钮相当于再循环一次到代码第9行时停止 5、让断点处的代码再加一行代码 点击下图的加号可以在断点处加一行代码比如下图中的count即为新添加的代码 选中count右键点击Edit可以编辑该代码选中该行代码count点击加号下面的减号可以删除该行代码 选中下图的眼镜变为分屏操作 举例 下图是没添加额外代码之前的截图 添加一句count并点击左边红色框中的按钮执行到下一次断点即循环了一次 效果和运行步骤见下图 6、停止debug程序 点击下图按钮停止debug程序注意 运行的如果是javaSE项目点一下就停止运行的如果是javaWeb项目需要点两下 第一下停止代码的当前线程第二下停止服务器 7、显示所有断点 点击下图按钮会显示所有断点 点击后出现下图所示界面可以添加断点运行的条件见下一条功能解释 8、添加断点运行的条件 选中断点右键后即可编辑断点运行的条件 满足条件时程序才会在该断点处停下 比如添加i5重新debug后的效果如下图所示 此时会发现第7条显示所有断点信息处可以看到下图效果 9、屏蔽所有断点 点击下图按钮可以屏蔽所有断点 屏蔽前屏蔽后 屏蔽的断点在debug的时候不会运行 如果程序调试后觉得没问题了可以屏蔽掉所有断点继续运行程序查看效果 10、把光标移到当前程序运行位置 点击下图按钮后会把鼠标光标移动到当前程序运行位置 当程序代码量很大的时候可以通过该按钮快速定位到程序运行位置 如下图所示 假设程序运行到第9行断点处鼠标光标在第11行点击该按钮后光标就会移动到第9行 11、单步跳过 点击下图按钮会一行一行执行自己编写的代码 如果碰到方法该按钮不会进入到该方法内部快捷键F8 12、可以跳入方法内部的执行一行代码操作 下图中的蓝色箭头和红色箭头都可以执行一行代码如果遇到方法时会进入方法内部区别在于 蓝色箭头只会跳进自己写的方法如果是系统已经写好的方法蓝色箭头无法跳入该方法红色箭头不管是自己写的方法还是系统已经定义好的方法都可以跳入方法内部 如下图所示 ArrayList的add方法是系统已经写好的蓝色箭头无法跳入方法内部但是红色箭头可以跳入方法内部printMessage是自定义方法红色和蓝色箭头都可以跳入该方法内部 13、跳出方法 下图的两个按钮都可以跳出方法 第二个按钮是关闭窗口的意思同样可以起到跳出方法的作用在进入方法内部的时候使用这两个按钮 14、直接执行到光标所在位置 点击下图的按钮程序会执行到光标所在的位置 前提是光标前面没有断点否则程序还是会在光标前面的断点处暂停 15、在控制台改变正在debug的数据 在控制台选中某个变量右键点击Set Value可以改变该变量的值 如果想测试某个地方的数据如果是正确的会是什么效果可以手动更改该处变量的值 补充debug调试看代码时一般用F9跳到下一个断点打断点的目的是你想看程序执行到这个位置时会有什么效果或者是到达断点的位置后再继续往下看实现的过程用F7去跳进方法内部看具体的实现细节用F8去看当前位置代码往下的执行情况不跳入具体方法的内部