有没有什么方法,可以像chrome中的js那样,将对象的所有数据成员的信息记录到控制台?比如我们如何在chrome中的某个地方获取与某个对象相关的所有信息。
sauutmhj1#
一个解决方案可能是创建一个全面的 toString() 方法,然后记录它。
toString()
lrpiutwd2#
是的,在某种程度上。设置一个断点(如果必须的话,将静态方法 breakpoint() 什么也不做(例如。 System.currentTimeMillis(); 是其中唯一的东西,您确实需要一个实际的可执行语句(即使它什么也不做),在它上面设置一个断点,现在您可以调用 ThatThingie.breakpoint() . 开始使用'debug'而不是'run'(这也会让你热代码替换,一般来说,与run相比没有真正的缺点),然后调试器将停止在那一行,让你检查每个局部变量,从那里开始,每个相关字段,在debug透视图中。从那里你甚至可以做一些事情,如设置一个'手表',然后继续程序,你会看到该对象的变化实时。您可以通过双击边距(行号所在的位置)来设置断点。应该出现一个小绿点。
breakpoint()
System.currentTimeMillis();
ThatThingie.breakpoint()
2条答案
按热度按时间sauutmhj1#
一个解决方案可能是创建一个全面的
toString()
方法,然后记录它。lrpiutwd2#
是的,在某种程度上。设置一个断点(如果必须的话,将静态方法
breakpoint()
什么也不做(例如。System.currentTimeMillis();
是其中唯一的东西,您确实需要一个实际的可执行语句(即使它什么也不做),在它上面设置一个断点,现在您可以调用ThatThingie.breakpoint()
. 开始使用'debug'而不是'run'(这也会让你热代码替换,一般来说,与run相比没有真正的缺点),然后调试器将停止在那一行,让你检查每个局部变量,从那里开始,每个相关字段,在debug透视图中。从那里你甚至可以做一些事情,如设置一个'手表',然后继续程序,你会看到该对象的变化实时。
您可以通过双击边距(行号所在的位置)来设置断点。应该出现一个小绿点。