Mac Intellij Debug 模式
前言:本文的核心是记录debug的使用,与具体的操作系统无关。
1.什么是Debug
Debug是程序的一种运行模式。用来发掘程序的走向,以及程序在运行过程中参数的变化。
2.Debug的作用
debug用来追溯代码的运行流程,通常在程序运行跟预期结果不符合的时(程序运行时出现异常),那么启动debug模式可以分析定位异常发生的位置,帮助程序员更好的fix bug
3.Debug的使用
主要讲解intellj中debug的使用 ,此篇不会讲解debug时可用的快捷键。
配合idea中图形界面来进行讲解。
3.1.程序打上断点
首先为程序打上断点,我采用的是spring demo,因为这样可以演示给第三方spring jar包如何打上断点。
主程序上断点如下图所示:
程序打上断点.png第三方jar包反编译源代码断点如下图所示:
屏幕快照 2016-10-26 下午3.09.44.png3.2单步调试
3.2.1 Step Over:
点击红色箭头指向的按钮,程序向下执行一行。
屏幕快照 2016-10-26 下午3.21.02.png但有一种情况需要注意,如果在一个顺序执行的程序文件中打上断点,而第一行被打上断点的代码调用了其他方法,而且这个被调用的方法上也有断点,那么这样单步执行的顺序是,先祝程序文件中第一行被打断点的程序运行,接下来是被调用方法中打了断点的那一行代码,最后接着顺序运行此主程序文件中其它被打了断点的代码。
3.2.2 Step Into:
点击红色箭头指向的按钮,程序向下执行一行。如果该行有自定义方法,则运行进入自定义方法,如果有第三方类库方法,则在idea 中可以进入第三方代码中。具体步骤如下:
屏幕快照 2016-10-26 下午3.41.02.png在程序第十三行设置断点,然后点击上图中红色箭头指向的按钮,程序运行至第三方类库当中代码,代码如下图所示:
屏幕快照 2016-10-26 下午3.45.08.png3.2.3 step out
屏幕快照 2016-10-26 下午3.48.30.png如果在调试的时候你进入了一个方法,并觉得该方法没有问题,你就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。
3.2.4 Drop frame
屏幕快照 2016-10-26 下午3.50.50.png点击该按钮后,你将返回到当前方法的调用处(如上图,程序会回到main()中)重新执行,并且所有上下文变量的值也回到那个时候。只要调用链中还有上级方法,可以跳到其中的任何一个方法。
3.2.5 纯断点运行
所谓纯断点运行表示:程序只在断点处停留。
屏幕快照 2016-10-26 下午3.55.53.png发现上述两个按钮都可以实现效果
3.2.6 查看断点
按如下按钮可以查看程序中所有的断点:
屏幕快照 2016-10-26 下午3.58.03.png效果图如下所示:
屏幕快照 2016-10-26 下午3.59.29.png你可以从中删除不想要的断点。重新debug
3.2.7 变量值查看
idea中变量值的查看非常简单如下图:
Mac Intellij Debug 模式的更多相关文章
- Intellij debug模式使用
1.这里以一个web工程为例,点击图中按钮开始运行web工程. 2.设置断点 3.使用postman发送http请求 4.请求发送之后会自动跳到断点处,并且在断点之前会有数据结果显示 5.按F8 在 ...
- intellij debug模式提示 Method breakpoints may dramatically slow down debugging
之前不小心打了一个断点,然后项目长时间不能启动,保持一个加载的状态,并且提示Method breakpoints may dramatically slow down debugging,百度之后才知 ...
- Intellij IDEA debug模式下项目启动慢/无法启动的事件解决过程记录
项目无法启动了 简单的介绍一下事件过程:周一的早上,收到前端同事抛过来的一个任务,说是一个接口无法正常返回数据,于是就让他把参数发过来,我想试着在本地重现一下并且将问题修复掉,这种情况肯定是要通过de ...
- 【Idea】Intellij Idea debug 模式如果发现异常,即添加异常断点在发生异常处
前用eclipse的时候,可以根据所抛出的异常进行调试,比如:出现了空指针异常,我想知道是哪一行抛出的,在eclipse中我只需在debug模式下把空指针异常这个名字设置进去,当遇到空指针异常时,ec ...
- Intellij Idea debug 模式如果发现异常,即添加异常断点在发生异常处
以前用eclipse的时候,可以根据所抛出的异常进行调试,比如:出现了空指针异常,我想知道是哪一行抛出的,在eclipse中我只需在debug模式下把空指针异常这个名字设置进去,当遇到空指针异常时,e ...
- IntelliJ IDEA. Debug模式
资料收集: https://www.bilibili.com/video/av6749471/?p=16 eclipse debug模式. 基础 Intellij Idea--Debug使用 Inte ...
- Intellij IDEA Spring Boot 项目Debug模式启动缓慢问题
问题 Intellij IDEA Spring Boot 项目Debug模式启动缓慢 环境 os: windows10 idea :2018.1 解决方法 去除所有断点就正常了,很诡异,原因未知.
- IntelliJ IDEA Debug模式启动项目
导入项目,没有看到debug模式 点击 next next next next
- IDea 工具debug模式详细使用说明
IDea 工具debug模式详细使用说明 IDEA中如何使用debug调试项目 一步一步详细教程 Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生 ...
随机推荐
- Redis从单机到集群,一步步教你环境部署以及使用
Redis作为缓存系统来说还是很有价值的,在大数据方向里,也是需要有缓存系统的.一般可以考虑tachyon或者redis,由于redis安装以及使用更简单,所以还是优先考虑了它.那么在一些场景下为了保 ...
- h5 录音
得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点 ...
- websocket 70K连接测试
websocket 70K连接测试 最近使用socket.io做了一个实时应用,实时性.稳定性还是很让人满意的.如果拿socket.io来做小型应用,综合效率应该是最高的.但是网上少有socket.i ...
- 扩展Python模块系列(一)----开发环境配置
本系列将介绍如何用C/C++扩展Python模块,使用C语言编写Python模块,添加到Python中作为一个built-in模块.Python与C之间的交互目前有几种方案: 1. 原生的Python ...
- Python 数据模型
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 25.0px Helvetica } 一摞Python风格的纸牌 from collections impo ...
- GoF设计模式 - 概述
掌握编程语言仅仅意味着掌握了如何给计算机"下命令",而到底要计算机如何去做,怎么指挥,则是另一个问题--如何编程.设计模式是一套程序员的"武功套路",它教我们如 ...
- HTK语音识别示例(Ubuntu)
一.简介 HTK(Hidden Markov Model Toolkit)是一款语音识别工具包,诞生于Cambridge University Engineering Department (CUED ...
- Django编写RESTful API(二):请求和响应
欢迎访问我的个人网站:www.comingnext.cn 前言 在上一篇文章,已经实现了访问指定URL就返回了指定的数据,这也体现了RESTful API的一个理念,每一个URL代表着一个资源.当然我 ...
- 在Windows的Dos命令中切换盘符
在Windows的Dos命令中切换盘符... ---------------------------- --------------------------------------- -------- ...
- 30岁后还能入IT行业吗?
前言 写这样的文章只想给那些准备改行想入IT行业的同学一点点建议,当然只做参考,我的个人经历. 我也是一个30岁改行进IT行业的程序猿.入这行也有一年多了吧.给我的感觉就是比较苦逼. 入行前的培训 进 ...