转载至博客:https://blog.csdn.net/qq32933432/article/details/86672341

缘起

笔者在进行HashMap原理探索的时候需要在IntelliJ IDEA中调试HashMap源码,由于在idea中调试诸如Map中的Node元素只能看到key和value.并且HashMap静态变量等也看不到。故后来在eclipse中调试,但是eclipse中调试又会出现局部变量不显示以及方法变量显示为arg0 agr1这种形式,后来解决了,解决方案看这里。但是笔者始终觉得Idea比较好用,遂在之后又探究了一下idea怎么在调试的时候查看类的所有变量。
可以看到默认情况下idea是只能看到key和valu的。但是我们知道node其实是有next属性的,这在我们观察hash冲突的时候非常有用。那么如果设置才能看到next呢。
接!

二种方式

一、在debugger的Variables面板中,右键该对象,找到View As选项,选择其中的Object,然后就可以看到该对象的所有属性了。

采用第一种方式时,每次Debug都需要手动指定其类型,较为繁琐。对于常用的类,我们也可以在View as时点击Create按钮,为其新建类型。这样的话以后每次Debug时,无需任何设置就能在Variables面板内直接看到其准确类型的所有属性。

效果

设置好的效果,就可以看到next hash的值了

但是依然没法看到静态变量的值,那么静态变量的值怎么看呢?

如何查看静态变量

现在已经能看到类中的所有成员变量了,那么对于静态变量该如何查看呢?这个也很简单,同样在此处右键,点击Customize Data Views…

然后在Static fields和Static final fields的选项前打勾即可~

【idea】断点调试时查看所有变量和静态变量的更多相关文章

  1. C#断点调试时属性get块逻辑执行多次

    上面的例中,当打断点调试时,断点断住时, Attr1属性的get块就会执行一次. 两个断点加在逻辑中对Attr1的访问,最后发现CTest get Attr1.打印了3次. 得到的结论是:多余的2次打 ...

  2. 使用idea断点调试时出现no executable code found at line问题

    问题描述 今天突然碰到了这样的一个问题: 使用断点调试时,断点的地方出现了一个叉号,而不是对勾,这就让我非常无奈了. 调了一天,终于把这个问题解决了,还是要记录一下的. 问题情况如下: 除了这里,de ...

  3. 浅析c语言中的变量(局部变量,外部变量,静态变量,寄存器变量)[转]

    c语言中变量分为四类,分别是 1.auto   自动变量 2.static   静态存贮分配变量(又分为内部静态和外部静态) 3.extern  全程变量(用于外部变量说明) 4.register   ...

  4. [javase学习笔记]-8.2 成员变量与静态变量的差别

    这一节我们看一看成员变量与静态变量的差别所在. 什么是静态变量呢?我们上节用statickeyword时就提到了静态变量.也就是说用statickeyword修饰的变量就是静态变量. 我们在6.4节学 ...

  5. Python-类变量,成员变量,静态变量,类方法,静态方法,实例方法,普通函数

    #coding:utf-8class class_name(object): class_var = 'I am a class variable' #类变量 def __init__(self): ...

  6. JVM存储位置分配——java中局部变量、实例变量和静态变量在方法区、栈内存、堆内存中的分配

    Java中的变量根据不同的标准可以分为两类,以其引用的数据类型的不同来划分可分为“原始数据类型变量和引用数据类型变量”,以其作用范围的不同来区分可分为“局部变量,实例变量和静态变量”. 根据“Java ...

  7. Java中局部变量、实例变量和静态变量在方法区、栈内存、堆内存中的分配

    转自:https://blog.csdn.net/leunging/article/details/80599282 感谢CSDN博主「leunging」的总结分享 ———————————————— ...

  8. Springmvc在项目启动时查询数据库并初始化静态变量

    private static List<ResourceEntity> resourceList = null; //初始化的全局静态变量 @Autowired private Resou ...

  9. java中的成员变量、静态变量与局部变量

    java中的变量分为成员变量(又叫实例变量).静态变量和局部变量. 1.成员变量 1.1 成员变量(实例变量)是在类中定义的非static修饰的变量,可以不用赋初始值,不同的数据类型有默认的初始值. ...

随机推荐

  1. openwrt配置strongswan对接hillstone ipsec的笔记

    一.主要参考资料: https://openwrt.org/docs/guide-user/services/vpn/ipsec/strongswan/roadwarrior https://open ...

  2. 【转】spring bean 卸载

    spring bean 卸载起因: 群里的一个朋友问到: 关于配置destory-method, springboot中 yml如何指定 首先介绍 bean卸载的三种形式 自定义destory-met ...

  3. 十大排序代码实现(python)

    目录 冒泡排序 快速排序 简单插入排序 希尔排序 简单选择排序 堆排序 二路归并排序 多路归并排序 计数排序 桶排序 基数排序 写在前面: 参考文章:十大经典排序算法 本文的逻辑顺序基于从第一篇参考博 ...

  4. django知识点回顾

    1.web应用 本质是基于socket实现的应用程序 浏览器-----------服务器 2.http协议:应用层协议 1.基于TCP协议 2.基于请求响应 3.短连接 4.无状态保存(引入了cook ...

  5. 在输出debug日志前加上logger.isDebugEnabled()判断的原因

    场景: String token = md5.substring(0, 10) + base64Two + md5.substring(10); if (logger.isDebugEnabled() ...

  6. [BeiJing2010组队]次小生成树 Tree

    1977: [BeiJing2010组队]次小生成树 Tree Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 5168  Solved: 1668[S ...

  7. 神经网络(12)--具体实现:如何对back propagation的正确性进行验证

    我们在进行back propagation时难免会出现各种各样的问题,当出现问题的时候,我们的cost function仍然是随着迭代的次数下降的,但是这中间会有一些问题存在,那么我们如何来检查我们的 ...

  8. HDFS中DataNode的心跳机制

    DataNode心跳机制的作用讲解了DataNode的三个作用: register:当DataNode启动的时候,DataNode需要将自身的一些信息(hostname, version等)告诉Nam ...

  9. service worker(一)之离线应用

    serviceWork.html <!DOCTYPE html> <html lang="en"> <head> <meta charse ...

  10. Mysql 的使用方法

    一 .Mysql 优势: 1.程序稳定性 :这样任意一台服务所在的机器崩溃了都不会影响数据和另外的服务. 2.数据一致性 :所有的数据都存储在一起,所有的程序操作的数据都是统一的,就不会出现数据不一致 ...