【Java利器之】Intellij Idea--Debug使用(mac)
来源:互联网 发布:上海萌动网络 编辑:程序博客网 时间:2024/06/07 10:34
前言:本文的核心是记录debug的使用,与具体的操作系统无关。
1.什么是Debug
Debug是程序的一种运行模式。用来发掘程序的走向,以及程序在运行过程中参数的变化。
2.Debug的作用
debug用来追溯代码的运行流程,通常在程序运行跟预期结果不符合的时(程序运行时出现异常),那么启动debug模式可以分析定位异常发生的位置,帮助程序员更好的fix bug
3.Debug的使用
主要讲解intellj中debug的使用 ,此篇不会讲解debug时可用的快捷键。
配合idea中图形界面来进行讲解。
3.1.程序打上断点
-首先为程序打上断点,我才用的是spring demo,因为这样可以演示给第三方spring jar包如何打上断点。 主程序上断点如下图所示:
程序打上断点.png 第三方jar包反编译源代码断点如下图所示:
3.2单步调试
3.2.1 Step Over: 点击红色箭头指向的按钮,程序向下执行一行。 屏幕快照 但有一种情况需要注意,如果在一个顺序执行的程序文件中打上断点,而第一行被打上断点的代码调用了其他方法,而且这个被调用的方法上也有断点,那么这样单步执行的顺序是,先祝程序文件中第一行被打断点的程序运行,接下来是被调用方法中打了断点的那一行代码,最后接着顺序运行此主程序文件中其它被打了断点的代码。
3.2.2 Step Into: 点击红色箭头指向的按钮,程序向下执行一行。
如果该行有自定义方法,则运行进入自定义方法,如果有第三方类库方法,则在idea中可以进入第三方代码中。具体步骤如下:
在程序第十三行设置断点,然后点击上图中红色箭头指向的按钮,程序运行至第三方类库当中代码,代码如下图所示:
- 3.2.3 step out
如果在调试的时候你进入了一个方法,并觉得该方法没有问题,你就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。- 3.2.4 Drop frame
点击该按钮后,你将返回到当前方法的调用处(如上图,程序会回到main()中)重新执行,并且所有上下文变量的值也回到那个时候。只要调用链中还有上级方法,可以跳到其中的任何一个方法。- 3.2.5 纯断点运行 所谓纯断点运行表示:程序只在断点处停留。
发现上述两个按钮都可以实现效果
按如下按钮可以查看程序中所有的断点:
效果图如下所示:
你可以从中删除不想要的断点。重新debug- 3.2.7 变量值查看 idea中变量值的查看非常简单如下图:
两个红色箭头所指的地方都可以查看debug过程中变量值的变化情况。
- 【Java利器之】Intellij Idea--Debug使用(mac)
- 【Java利器之】IntelliJ IDEA For Mac 快捷键
- intellij idea之debug
- Mac Intellij IDEA 使用技巧
- Mac下使用 IntelliJ IDEA
- Mac---Java---JDK---IntelliJ IDEA
- 使用IntelliJ IDEA如何使用远程debug
- mac下idea的使用之代码调试debug篇
- 详述 IntelliJ IDEA 之 Debug 篇
- 详述 IntelliJ IDEA 之 Debug 篇
- 26.Debug 介绍 - IntelliJ IDEA 使用教程
- Intellij IDEA 使用debug 【待写】
- 在Intellij IDEA中使用Debug
- 在Intellij IDEA中使用Debug
- Intellij IDEA中使用Debug调试
- 在Intellij IDEA中使用Debug
- 【Java利器之】Intellij Idea创建一个简单的java项目
- 32.IntelliJ IDEA For Mac 快捷键 - IntelliJ IDEA 使用教程
- 温故而知新(六)Java基础:IO流(此文章暂时未写完)
- _tcsncpy_s的src 会被自动覆盖成 fe fe fe fe
- 分布式通讯类型及特点
- Ruby 字符串(String)
- bzoj3944: Sum
- 【Java利器之】Intellij Idea--Debug使用(mac)
- 快速排序 -- 算法小结
- Longest Common Substring
- Java+SpringMVC中自实现定时加载更新数据库数据到内存的方法
- S5PV210 PWM
- 线程间异步调用BeginInvoke
- php之初级PHPExcel
- 注解开发详解
- 数据库管理系统