IntelliJ IDEA 断点调试时查看所有变量和静态变量

约定不等于承诺〃 2022-03-22 10:25 1069阅读 0赞

缘起

笔者在进行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的选项前打勾即可~
在这里插入图片描述

出自本人博客:http://www.bxoon.com/user?method=posts&pn=1

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,1069人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Eclipse、IntelliJ IDEA远程断点调试

    本地断点调试相信大家已经都已经玩的很溜了,但远程断点可能对有些人来说还有点陌生。在实际开发过程中我们可能会有几套不同的环境,比如开发环境、测试环境、生产环境。测试环境我们一般会