IntelliJ IDEA使用教程 (总目录篇)

在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。
下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的有的人keymap是mac版的,有的是Windows版的
我的就是Windows,而且修改keymap为eclipse的keymap,因为我算是eclipse转过来的吧。
下面直接看图,详细解释,每一个按钮(按钮对应图中的数字)都是什么功能。

1,rerun XXX,这个就是直接重新跑某个程序。
2,这个相当于eclipse里面的f8,直接跑完,到下一个断点停下,没有就直接跑完程序。
3,停止项目或者程序。要是自己的main呢,点一下就停下了,要是Java web项目,则点2下,就把服务器给停了。
4,查看所有的断点设置情况。具体详情,下面有示意图,再细细解释。
5,直接取消所有断点,让所有断点无效。
6,要是你一不小心把这个下面的布局给弄乱了,你点这个,就把下面的布局给还原咯。
7,跳转到当前代码所执行的地方,也就是说你在看代码的时候,点到其他地方,一点这个按钮,就到了程序执行到当前哪行的代码的地方。
8,下一步,如果是方法,他是不会跳进去的。就是一行行的往下走。(eclipse里面的快捷键就是f6)
9,跳转到详情,如果下一行调试代码是可执行方法,就可以f5进去,查看这个方法的运行详细情况。重点就是点进去执行
10,从详情跳出去,和上面的9相反。
11,看字面意思就是跳转到那个光标所在的地方,前提是他能路上没断点拦着(这个也很好用的,下面详细解释一下他的好处)。
12,这个点开之后,可以计算你想要看的代码段的值,后面详细上图。
13,看意思,同eclipse里面的watch,查看某个对象的值,自定义的对象。
14,把自定义的查看对象的值,分开到另一个tab页。
15,有时候当我们步入方法体之后,还想回退到方法体外,点这个按钮后,断点重新回到方法体之外。在继续还是可以再次进到方法内(这个很好的,假设你手快,跳过想断点的方法,然后这个drop frame,出去之后,就可以再次debug啦。这个很是着重介绍一下,就算你只打一个断点,一不小心跑了,不怕,点这个,推出,然后再执行,还是会再次进入断点的。这个很管用的,要是不知道的话,就的再从头到尾的执行一遍,很是麻烦哦。所以,再使劲的强调一下这个高科技按钮。)

查看断点处的某个对象的值,可以 如下几个方法:
1,选中对象后,鼠标悬停在对象上 2 秒左右
2,在watch里面添加这个对象,
3,下面也许会自动列出来你代码里面有的
4,使用上面图上标注的12的那个按钮

5,alter + click,按住alter,然后点击想看的变量,就出现啦变量的值,这个厉害,感谢 40 楼老铁的评论。

下面就再详细说下 4,12,13,14,11
4,查看所有的断点的详情,点开如下所示。
在图中condition中可以设置断点的条件,当i==4的时候,才停下。查看具体断点内容。


关于设置断点条件,还可以,直接在代码断点处,右键设置,完啦之后,done,设置完成。


12,这个用的也比较多,这个就比较随意。可以根据你的输入,计算你要的结果,不局限代码里面的变量啥的。
这个在debug的时候,使用起来是很方便的。


13,14,这2个点完之后,效果如下图,只是把自定义的变量和代码里面自带的变量分在两个tab页面展示。
你可以点13号按钮,自行添加,你想查看的变量的值。

11,看字面意思就是跳转到那个光标所在的地方,前提是他能路上没断点拦着

一般看到这个图,大概都是在for循环之前打了个断点,当你在一步步的跟踪代码执行的时候,遇到这个for循环,要是还是一步步的继续,那就得点很多下,要是循环集合很大,岂不是很费时,一般估计就会在for循环的后面(比如在我这个图的39行打个断点,来一下子跳过for循环)再打个断点,那么你为了一步步的跟踪代码执行,不得不继续类似的操作,添加了不少没用的断点。你这么做是因为你不知道这run to cursor ,就是直接执行到鼠标光标处。通俗的解释一下,看我图39行,当前鼠标的光标就在这地方,你直接点这个run to cursor 这个debug功能按钮,就会直接跳过for循环,运行到光标所在的位置,停下。这就省去了打n多个不需要的断点啦。这个按钮的功能不错吧。

还有个需求,就是

在调试代码的时候,实时的修改,运行状态的代码变量的值

仔细看下图,就知道,怎么在实时调试代码的时候,怎么设置某些变量的值,可以看到,我上面在输入a之后,下面就有类似你写代码时候的提示,你就可以在这地方修改变量的值啦

(更新)

上面的描述好像有问题,不应该使用watch去修改变量的值,具体看图吧。

可以看到,我在watch里面写了行代码,给这个list add一个“123456”,然后发现,代码走一行,他就add一次,然后就发现我上面写的不对啦,不是这么来修改正在运行的变量的值的。

应该像这张图这么来修改变量的值,这个是一次性操作的。

这个地方,快捷键是f2,具体的快捷键可能不一样,f2快捷键之后,就会出格框,里面输入你想修改的值,就可以运行的时候,修改变量的值。这个还有你修改的记录。

关于调试的时候,

设置运行时的参数,如下:

入口如下,2个地方都可以。

一般都是跑简单的main方法,跑main方法的时候,还带参数文件的,还是第一次,顺带做个记录吧。

最后,湿胸我说的这么详细,各位观众,有钱的捧个钱场,没钱的捧个人场。点个赞,留个言啥的,好不好呀。

我写完文章,给自己点个赞,不过分吧,
不过分,那我可就点啦啊。
我先点为敬,你们随意。大家随意。不要客气。。。

更新:这个编辑器为了方便从eclipse编辑器转过来的同学们,他可以设置keymap的。具体看图。

因为我就是刚刚开始的时候,使用的就是eclipse,后来转过来的,所以,在使用的时候,就先设置了一下,这个键盘映射。使用的还是以前在eclipse上使用的快捷键。不需要再次去记一遍新的快捷键映射。这个也是极其方便的。

所以,在这个debug的快捷键上和使用eclipse时候,是一样的f5进去,f6是下一步。

有时候发现,你打了断点,但是,代码却么有停下来,注意下图

可以看到,打断点时候,有的是对号,有的是个x,x是不可执行的代码,所以,你要是在代码类似的地方打断点的话,代码就不会停下来,因为这个断点位置有点尴尬。

老铁,要感谢下大师兄不?里边请,聊一聊人生。

Intellij IDEA 2017 debug断点调试技巧与总结详解篇相关推荐

  1. 认真阅读完这篇文章熟练掌握关于IDEA断点调试操作(图文详解)

    设置断点 选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可,再单击取消断点 ctrl + shift + f8 查看取消断点 开启调试会话 shift + f9 调试模式,开始断点调试 断点调 ...

  2. IDEA--IDEA debug断点调试技巧

    目录 一.Debug开篇 二.基本用法&快捷键 三.变量查看 四.计算表达式 五.智能步入 六.断点条件设置 七.多线程调试 八.回退断点 九.中断Debug Debug用来追踪代码的运行流程 ...

  3. IDEA调试技巧(图文详解,保姆教程)

    文章目录 基础篇: 一.行断点 二.详细断点(源断点) 三.方法断点 四.异常断点 五.字段断点 进阶篇 一.条件表达式 二.通过调试来打印堆栈信息 三.可以通过调试来解析表达式 四.避免操作资源dr ...

  4. Chrome JS断点调试技巧

    Chrome调试折腾记_(2)JS断点调试技巧 技巧一:格式化压缩代码 技巧二:快速跳转到某个断点的位置 技巧三:查看断点内部的作用范围[很实用] 技巧4:监听事件断点 技巧5:DOM及 XHR监听跳 ...

  5. python中debug断点调试

    python Debug 断点调试 断点(break point)是指在代码中指定位置,当程序运行到此位置时变中断下来,并让开发者可查看此时各变量的值.因断点中断的程序并没有结束,可以选择继续执行. ...

  6. KEIL 断点调试技巧

    实际项目中断点调试起了很大作用,Keil的断点调试功能很强大,除了普通的设置断点运行到断点处,还有单步.跳转.除了这些常规的方法,对于一些疑难杂症,常规方法就有点杯水车薪了.下面我总结下我在工作中常用 ...

  7. Java学习日志(八): 可变参数,debug断点调试,静态导入,集合嵌套

    JavaEE学习日志持续更新----> 必看!JavaEE学习路线(文章总汇) Java学习日志(八) 可变参数 debug断点调试 静态导入 集合嵌套 可变参数 JDK1.5之后的新特性 作用 ...

  8. IDEA断点调试技巧

    IDEA断点调试技巧 1 怎么开启断点调试 2 调试界面咋那么多按钮 2.1 返回断点位置 2.2 步过 2.3 步入 2.4 强制步入,步出 2.6 回退断点 2.7 断点跳到光标处 2.8 表达式 ...

  9. c语言程序调试断点,VC6断点调试技巧

    前言: 看到不少同学在学习过程中总会碰到各种与自己期望不符的结果而不知所措,如运行结果不对,程序运行崩溃.输出乱码等这种语法正确编译能通过而逻辑不正确的情况,发生这类问题大多都是因为我们无法掌控编译器 ...

最新文章

  1. Google 确认 Chrome 存在严重漏洞,向 20 亿用户发出警告:你们需立即更新浏览器...
  2. 初探mysql数据库模式(一)
  3. kernel module required key not available
  4. Python爬虫入门五URLError异常处理
  5. teststand调用python模块_TestStand 基本知识[10]--在序列中调用代码模块之--LabVIEW
  6. 跨站的艺术-XSS Fuzzing 的技巧
  7. SQL数据库练习题以及答案(46例题)
  8. word文档 批量添加上标、下标
  9. 怎么进b站up主的粉丝群
  10. 计算机职高会考知识,2013年金华市职高会考各科目考纲汇总.doc
  11. 哪种锻炼方式最能让程序猿远离亚健康? - 强烈推荐
  12. python中的类和对象2
  13. 蓝底寸照该如何在手机上修改照片底色
  14. 太爽了!记录下我磕磕碰碰的三个月找工作经历
  15. 山东二本计算机排名大学最新,山东二本大学排名最新
  16. Python守护进程daemon实现
  17. 国外最大的购物搜索/比较购物网站
  18. 每日一题python90:找到小镇的法官
  19. 从5G落地看2020年科技产业投资机会
  20. 前端Vue H5生成带二维码的分享海报,实现长按保存到手机相册

热门文章

  1. 解决IE6下select z-index 无效
  2. NB-IOT 模块 MT2625 使用总结
  3. 《统计学》贾俊平 第一章 导论总结
  4. SQL简明数据分析教程
  5. 网吧服务器网络维护教程,网管员维护服务器过程中的反黑技巧
  6. 对Request.parameter中参数进行添加或修改
  7. 【Verilog】parameter
  8. 上海中兴软件测试面试,中兴综合测评没做完
  9. Python基础从0到1自我学习(3)
  10. 混合驱动+封装实现163邮箱登录+创建联系人+发送邮件