是否可以在 Eclipse 调试器中的 value 列中显示 toString() 结果?
默认情况下,它显示内置类型的值和用户类型的类型名称+ id:
注意,调试器绝对可以显示
toString()
,但它仅在单独的部分(如下)中执行此操作,而不是在 Value
列中。
这是可能的,虽然有点笨拙。
从视图的菜单(汉堡包图标)中,选择 Java → Java 首选项...(进入“详细格式化程序”首选项部分)。
在底部,将 “显示变量详细信息(‘toString()’值)”设置为:
(如果您想自己选择详细信息),在顶部(带有详细格式化程序的类型),为您要检查的每种类型定义一个简单的返回命令。 “not toString()”的简单格式化程序:
如果对象未实现
toString()
方法,您可以定义自己的详细格式化程序。这假设该对象提供公共方法来访问您感兴趣的字段。可以在Codecentric:post about Tips on java debug with Eclipse的博客中找到很好的解释。搜索提示“人类可读对象”。
我认为这是不可能的,毕竟调试器无法修改程序,它只能停止/修改执行本身(例如跳过方法调用等)。 toString 是一个像其他方法一样的方法,调试器无法调用它。