返回顶部
首页 > 资讯 > 精选 >Intellij IDEA的一些调试技巧(小结)
  • 230
分享到

Intellij IDEA的一些调试技巧(小结)

intellijidea调试 2023-05-30 20:05:30 230人浏览 薄情痞子
摘要

程序员的工作内容,除了大部分时间写代码之外,因为有不少的时间是用在调试代码上。甚至说不是在调试代码,就是即将调试代码。 :)今天我们来谈谈调试代码的一些技巧,在使用IDE提供的debugger时一些快速定位问题的方式。看到这里的朋友,不要马

程序员的工作内容,除了大部分时间写代码之外,因为有不少的时间是用在调试代码上。甚至说不是在调试代码,就是即将调试代码。 :)

今天我们来谈谈调试代码的一些技巧,在使用IDE提供的debugger时一些快速定位问题的方式。

看到这里的朋友,不要马上认为我标题党,再往下看看,如果你还有一些更好用的技巧,欢迎留言。

下面进入正题。

1 多线程调试

开发多线程应用的朋友应该有体会,有些时候,为了观察多个线程间变量的不同状态,以及的获取等,就会想到在代码里加个断点debug一下。

在IDE里断点停下来的时候,可以切换到另外的线程中,跑其他的代码,不会互相影响。当然,这里是有个开关的,在Eclipse里默认开启,

但是在IntelliJ idea里默认是没有开启的。也就是说如果你在IDEA里代码里加断点,虽然一个线程的断了下来,但其他线程的已经执行过了。

此处把线程的suspend设置成和Eclipse模式一样之后,也可以开始多线程应用的调试。

简单设置可以直接在断点处,将suspend改成Thread

Intellij IDEA的一些调试技巧(小结)

更改IDEA中的默认设置:切换到"Thread" Radio Button,点击出现的按钮 ”Make Default"

Intellij IDEA的一些调试技巧(小结)

一个线程断下来之后,可以通过在线程窗口切换,到其它线程中继续运行。

IntelliJ IDEA里在这儿切换

Intellij IDEA的一些调试技巧(小结) 

我们看到main线程和pool-1-thread-1这两个线程都处于RUNNING状态,切换到任何一个都可以继续运行。

此时,就可以写一个多线程的应用,同时向ArryList这一类非线程安全容器中存放内容,然后观察为什么他们是线程不安全的,会出现什么问题,生动又形象。

PS: 这里顺道说一下,这就是为什么创建线程时建议起一个有意义的名字 ,至少是可以识别的名字,否则在这里都不能区分出哪个是自己的线程,想切换还麻烦。

2 后退执行

这里所说的后退执行,是有些时候我们在debug代码时,懒的每个方法都进入单步调试,就会出现你观察一个变量值的变化时,某个方法没跟进去,结果值就变了,不得不重来一次。

依靠后退执行的功能,可以后退,就像下棋时悔棋那种功能一样。当然,这个后退操作的名字是我自己起的,在IDE里被称为Drop Frame。

Intellij IDEA的一些调试技巧(小结) 

有了这个功能,我们在Drop 了当前这个Frame之后,已经改变的变量值不会恢复。比如你向当前调用方法里传入了一个List,并且在方法中向List里添加了内容,那在Drop到调用该方法的地方时,List不会恢复到之前的状态。

但是在该方法再次被调用时,你可以观察List什么时候被改变的,至少不需要再重跑一遍程序了。甚至你可以一言不合就后退。

3 条件断点

为了调试代码,就需要在要观察变更的地方添加断点,然后小心翼翼的一步步执行。

但是如果是在一个循环里,又或者该方法会被多线程同时调用到的时候,你小心的向下单步调试,发现没有你关心的内容,又从循环开始处跑下来,还是没你的内容,人就开始烦燥起来。

其实,在添加断点的时候,我们可以为断点增加一定的条件,这样,在指定的条件满足时,断点才会生效。

IntelliJ IDEA内,在断点上右击,会弹出如下图的条件框,输入指定的条件即可。

Intellij IDEA的一些调试技巧(小结) 

有了条件断点,不相关,不感兴趣的代码就可以直接跳过了。

4 片断代码

这个没想好用什么名字来表述。有些时候在调试过程中,忽然想招待一段与此相关,但不在源文件中的代码来观察一下,辅助进行问题分析。此时你会停止程序,添加代码然后重新跑一次吗?

在IDEA里有一个执行代码片断的功能,可以在当前代码的上下文内,执行你临时写的代码。

例如,当前方法传入一个List,但这个方法里少一个你后面条件需要使用到的元素,此时你可以临时使用片断代码执行的功能,添加一个进去。

注意,在IntelliJ IDEA里,这个上面红框,像个小计算器的按钮就是临时执行的功能,点击之后,会弹出按钮下方这个Evaluate Expression(Ctrl+F8)的框,输入代码,点击右下角的Evalute即可。返回值会显示在Result处。

Intellij IDEA的一些调试技巧(小结) 

这就就相当于临时改变了变量内容。

然后,还可以调用对象的方法,执行功能,获取属性值等。

Intellij IDEA的一些调试技巧(小结) 

5 查看变量修改值

每个IDE在调试代码时都提供了一个观察当前上下文变量值的窗口。其实除了查看之外,一些非final的基本类型,还可以直接在此处修改值。这样如果多次循环执行时,每次可以恢复到期望的值,不需要重启程序。

Intellij IDEA的一些调试技巧(小结)

常用代码自动补全快捷键

快捷键 说明
sout System.out.println(“”);
psvm main方法

常用设置项

常用快捷键

快捷键 说明
Alt + Ctrl + S 打开Settings
Alt + Ctrl + Shift + S 打开Project Structrue
Alt + Enter 快速修复
Alt + / 单词自动补全
Alt + Insert 代码自动生成,比如setter、getter、toString等等
Alt + Shift + V 把类中成员移动到另一个类
Ctrl + Shift + F 格式化代码
Ctrl + Shift + U 大小写切换
Ctrl + Shift + I 根据当前上下文显示代码定义,比如:光标停在方法上就会以popupview方式显示该方法的定义
Ctrl + click 跳到源码
Shift + Shift 搜索所有文件
Ctrl + E 打开最近访问文件列表

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Intellij IDEA的一些调试技巧(小结)

本文链接: https://lsjlt.com/news/221019.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Intellij IDEA的一些调试技巧(小结)
    程序员的工作内容,除了大部分时间写代码之外,因为有不少的时间是用在调试代码上。甚至说不是在调试代码,就是即将调试代码。 :)今天我们来谈谈调试代码的一些技巧,在使用IDE提供的debugger时一些快速定位问题的方式。看到这里的朋友,不要马...
    99+
    2023-05-30
    intellij idea 调试
  • IntelliJ IDEA调试技巧是怎么样的
    IntelliJ IDEA调试技巧是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。大家周末愉快啊,今天分享一下 IntelliJ IDEA 的高级调试技巧,来看下有多骚...
    99+
    2023-06-16
  • 详解Intellij IDEA 2017 debug断点调试技巧(总结)
    在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的,有的人keymap是mac版的,有的是Window...
    99+
    2023-05-30
    debug 断点调试 tell
  • Intellij IDEA 中调试 maven 插件的步骤
    目录Intellij IDEA 中调试 maven 插件话痨一下步骤1. classfinal-demo 项目部分2. ClassFinal 部分参考资料Intellij IDEA ...
    99+
    2023-03-20
    idea调试 maven 插件 idea调试 maven
  • ZBLOG模板修改的一些技巧小结
    1、templates 文件夹是你修改最为多的地方 catalog.html 修改zblog的分类、关键词索引页面的模板 default.html 修改zblog的首页模板 single.html 修改zblog的单页模...
    99+
    2022-06-12
    ZBLOG 模板修改
  • 调试JavaScript的技巧有哪些
    本篇内容介绍了“调试JavaScript的技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 自...
    99+
    2024-04-02
  • Android Studio 开发调试小技巧
    ** 无线adb ** 在开发Android应用时,通常情况下是通过USB数据线连接设备和计算机,但对于一些需要使用USB设备的应用, 这种方法...
    99+
    2022-06-06
    Android Studio studio 调试 技巧 Android
  • Javascript调试技巧有哪些
    今天就跟大家聊聊有关Javascript调试技巧有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 不要使用alert首先,alert只能打印...
    99+
    2024-04-02
  • JSP调试技巧有哪些
    这篇文章主要介绍“JSP调试技巧有哪些”,在日常操作中,相信很多人在JSP调试技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JSP调试技巧有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!使用...
    99+
    2023-06-28
  • python调试技巧有哪些
    这篇文章将为大家详细讲解有关python调试技巧有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。调试技巧1. 脚本调试Python的脚本调试可以是使用pdb模块。它可以让我们在脚本中随意设置设置断点:...
    99+
    2023-06-27
  • Kotlin开发的一些实用小技巧总结
    前言随着Google I/O大会的召开,Google宣布将支持Kotlin作为Android的开发语言,最近关于Kotlin的文章、介绍就异常的活跃。本文主要给大家介绍了关于Kotlin开发的一些实用小技巧,分享出来供大家参考学习,下面话不...
    99+
    2023-05-30
    kotlin 实用技巧
  • Django的调试技巧
    本篇内容主要讲解“Django的调试技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Django的调试技巧”吧!Django框架的单步调试在pycharm中,点击Run->选择Debug...
    99+
    2023-06-02
  • 详述IntelliJ IDEA远程调试Tomcat的方法(图文)
    在调试代码的过程中,为了更好的定位及解决问题,有时候需要我们使用远程调试的方法。在本文中,就让我们一起来看看,如何利用 IntelliJ IDEA 进行远程 Tomcat 的调试。首先,配置remote:如上图所示,点击Edit Confi...
    99+
    2023-05-30
    idea tomcat omc
  • Javascript中有哪些调试技巧
    小编给大家分享一下Javascript中有哪些调试技巧,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 不要使用alert首先...
    99+
    2024-04-02
  • IDEA的基本介绍使用及断点调试技巧
    目录1、IDE(集成开发环境)- IDEA2、IDE(集成开发环境)- Eclipse3、IDEA 的基本介绍和使用3.1、设置字体 和 颜色主题3.2、编译文件和源代码3.3、ID...
    99+
    2024-04-02
  • JavaScript逆向调试技巧总结分享
    目录前言一、加密分析二、调试技巧1、日志分析2、常见算法2.1)MD52.2)Base642.3)进制处理三、Chrome 调试技巧总结前言 前段时间尝试对某音的 PC 端进行了逆向...
    99+
    2024-04-02
  • 实用的JavaScript调试技巧有哪些
    今天小编给大家分享一下实用的JavaScript调试技巧有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们...
    99+
    2024-04-02
  • 分享Vue的一些小技巧
    这篇文章主要介绍“分享Vue的一些小技巧”,在日常操作中,相信很多人在分享Vue的一些小技巧问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”分享Vue的一些小技巧”的疑惑有所帮...
    99+
    2024-04-02
  • 使用Laravel的一些小技巧
    这篇文章给大家分享的是有关使用Laravel的一些小技巧的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Laravel 是什么Laravel 是一套简洁、优雅的PHP Web开发框架。它可以让你从面条一样杂乱的代码...
    99+
    2023-06-14
  • Eclipse中Debug调试技巧有哪些
    这篇文章给大家分享的是有关Eclipse中Debug调试技巧有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、Debug视图调试中最常用的窗口是:窗口说明Debug窗口主要显示当前线程方法调用栈, 以及代码...
    99+
    2023-05-30
    eclipse debug
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作