是否可以在Eclipse调试器的值列中显示toString()结果?
默认情况下,它显示内置类型的值,并为用户类型显示类型名称+ id:
注意,调试器肯定会显示toString()
,但它只在单独的部分(下面)中执行,而不是在Value
列中。
答案 0 :(得分:9)
有可能,如果有点笨拙。一张图片,超过一千字:
在首选项中,搜索"详细格式化程序"。 (可选)为要检查的每种类型定义一个简单的返回命令(如果您想自己选择详细信息)。
然后在下方,选择"显示变量详细信息>作为所有变量的标签" (如果toString()足够你),或者">作为带有详细格式化程序的变量的标签"如果您想使用自定义格式化程序。前者使" Type + ID"显示消失,tho。
"而不是toString()"的简单格式化器:
答案 1 :(得分:0)
如果对象未实现toString()
方法,您可以定义自己的详细格式化程序。这假设对象提供了访问您感兴趣的字段的公共方法。可以在Codecentric: post about tips on java debugging with Eclipse的博客中找到一个很好的解释。搜索提示“人类可读对象”。
答案 2 :(得分:-1)
我不认为这是可能的,在所有调试器无法修改程序之后,它可以暂停/修改执行本身(如跳过方法调用等)。 toString是一个类似于其他任何方法的方法,调试器无法调用它。