在企业开发中,质量和效率显得尤为重要。学会通过debug模式调试代码是每一个开发的必修课。下面我通过一个案例来描述一下如何来调试、跟踪代码。
步骤:在接口或方法的入口打上调试端点,如下所示。

通过“debug as”运行代码,进入debug代码调试模式。
下面介绍几个重要的调试技巧:step into(F5),进入函数内部调试、step over(F6),在当前函数步进调试、step return(跳出当前函数,返回调用该函数的函数内部调试)以及drop to frame(回到当前函数第一行代码的位置)。
进入debug模式后,我们就可以通过F6进行步进调试了,当运行到stack.push(temp)方法时,

如果我们想看该方法内部的实现逻辑,那么我们就可以通过F5进入到该方法的内部,

同时,我们可以接着按F6在当前push函数中进行步进调试了。
如果此时我们想跳出push函数,回到调用push函数的那层函数体的逻辑中,那么我们就可以按F7跳出当前函数:

如果我们本来想定位第n行函数内部的逻辑,结果因操作过快,鼠标的光标跳到了第n+1行,但是我们又不想重新启动debug程序,那么我们就可以通过drop to frame回到当前函数的第一行开始重新定位,需要注意的是,如果我们通过F5进入了函数fun(),那么此时我们按drop to frame时,会跳到fun()函数的第一行!
F7的另一个作用:遇到不想调试的步数很多的循环不想一步一步的按F6调试时,我们可以在该循环下一行再打一个断点,然后按F7,光标就会越过该循环体直接定位在断点的位置:

在循环下一行打一个断点,按F7,直接越过循环体,跳到断点调试处:

技巧:debug状态查看执行的结果,当光标移到第n+1行时,可以通过ctrl+shift+D查看第n+1行之前的代码执行结果。

也可以右机鼠标通过“watch”来查看或者通过“inspect”来查看。

学会使用debug模式调试代码相关推荐

  1. 使用Eclipse中Debug模式调试代码案例

    第一步 设置断点,选择你先要测试的代码片段. 第二步 设置完断点以后,就可以进行Debug测试了,按任务栏上瓢虫一样的按钮就可以进行. 点击之后就会出现以下界面.左边断点处的代码行就会呈现浅绿色的样子 ...

  2. VSCode启动Debug模式调试Python文件

    VSCode启动Debug模式调试Python文件 一.调试一般的Python文件 1.点击Extensions安装扩展插件 2.在输入框中输入Python,点击安装 3.点击界面中的"Ru ...

  3. 设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的值

    最近突然萌发了研究JDK源码的想法,所以就想到了在自己常用的Eclipse上可以调试JDK源码. 整个设置过程也很简单: 首先你要安装好JDK(我的JDK安装路径根目录是D:\Java\jdk-8u9 ...

  4. IDEA下使用Jetty进行Debug模式调试【含演示GIF图】

    2019独角兽企业重金招聘Python工程师标准>>> 步骤 在web项目中配置jetty: <plugin><groupId>org.eclipse.jet ...

  5. clodeblocks debug断点调试_Go 的 Debug 工具 delve 介绍

    以下文章来源于大愚Talk ,作者大愚Talk delve 的汉语意思是:钻研.探索:用这个来命名一个debug工具还是非常的形象. 本文主要介绍该工具的安装与常用使用方法.是一个step-by-st ...

  6. androidstudio之debug模式用法

    使用环境: 在不知道程序在那个地方出问题的时候,需要进行一步步调试发现问题的具体位置. 使用方法: 1 在app的build.gradle中添加允许运行debug模式的代码 buildTypes {s ...

  7. IDEA开发工具中Debug模式的基本使用

    1:打断点 双击需要打断点的代码右侧边栏 鼠标右键单击选择Debug模式调试 效果如图所示 2部分工具的使用 当你在调试过程中点击了其它页面的代码想要回到断点所在代码页面可点击此图标 点击图中指定的按 ...

  8. idea 使用debug模式自动编译的设置

    idea 使用debug模式自动编译的设置 记录一下使用idea的时候的问题,这个就是类似于myeclipse的debug模式修改代码后就能后直接看出效果,但是我使用的时候有一个问题,就是需要先请求一 ...

  9. pycharm调试代码139错误的可能解决办法

    用debug模式运行代码,然后出错就会是139.我这里出现的原因是python环境有冲突,遭到了破坏. 我用的是conda进行的环境管理,所以我选择,把使用的环境删除了 conda remove -- ...

最新文章

  1. ollvm 编译器优化的bug
  2. 【强化学习】Actor-Critic
  3. 【项目实战】mybatis +vue.js 前后端交互批量删除
  4. python实验三答案_20194123 实验三《Python程序设计》实验报告
  5. perl exe执行提示缺少文件解决方法
  6. spring mvc学习(39):restful的crud实现删除方式
  7. 基于相干解调法和基于相位比较法的2DPSK数字通信系统 MATLAB Simulink仿真
  8. c语言标准课程方案,《C语言程序设计》课程标准方案.doc
  9. mysql怎么保证热点数据_MySQL里有2000w数据,redis中只存20w数据,如何保证redis中数据都是热点数据...
  10. 写论文中所需的EndNote x9下载、安装以及与wps相关联教程
  11. 主成分分析在生命科学研究中的应用
  12. ping网络通不通、ttl讲解、查询ip归属地、tracert路由分析诊断
  13. java数组计算奇数的和,JAVA从键盘中输入20个整数将奇数和偶数存入不同的两个数组中 计算这两个数组中所有数据之和...
  14. 计算机专业的创新方向和创业情况,计算机专业创新创业教育模式探究
  15. JAVA-stage3-day03-MybatisMybatisPlus
  16. linux下生成dump文件方法及设置
  17. 从 xp_cmdshell 中使用 dtexec 运行SSIS包
  18. web期末作业设计网页 HTML+CSS+JS企业网站制作(画家企业8页)
  19. 解决java -version 系统找不到文件 C:\ProgramData\Oracle\Java\javapath\java.exe的问题
  20. 【数一】【概率论与数理统计】

热门文章

  1. 熬夜学Java语言-File类浅解析
  2. python程序sum函数的用法_python 运行sum函数的使用
  3. PSpice分析类型
  4. CentOS 8 上配置 FTP 服务器详细步骤,附截图
  5. 【Pandas实战】足球运动员数据分析
  6. 计算机毕业优秀作品展观后感,毕业展观后感
  7. 二进制数的补码及运算
  8. 多类别分类——吴恩达课程作业python代码实现
  9. 关于Gitlab修改用户名和邮箱
  10. 数据安全加密技术分析