如何设置Eclipse观察点在对象/原语发生变化时激活?

dre*_*rew 6 java eclipse ide breakpoints

我正试图重构一些相当可怕的代码.它以非常复杂的方式绕过对象我无法跟踪并且显然直接访问代码中其他位置的对象内的基元.我试图找出如何使用调试器找出我感兴趣的对象何时/何地被传递到传递这些对象的令人困惑的黑盒代码之后.

我想要的是一种设置在修改对象(或基元)时断开的观察点的方法.我知道可以在变量上设置观察点,但这不是我想要的.指向我感兴趣的对象的变量在函数调用结束时消失,我希望在此函数返回后继续跟踪对象.

任何人都可以告诉我Eclipse是否具有此功能?我正在使用Helios.

谢谢

mer*_*ike 3

您可以在您感兴趣的类的每个字段上设置观察点。

或者,您可以使用调用层次结构(单击该字段,然后按 Ctrl-Alt-H)查找源中引用特定字段的所有位置。这样做的优点是,您不仅可以查找在程序的特定执行中访问该字段的位置,还可以查找所有可能的执行。

请注意,这两种方法都不会注意到是否使用反射访问该字段。

  • 最后一点很好。为了进行更彻底的搜索,用户还应该搜索可能的反射调用。通过进行全文搜索 (Ctrl+H) 并搜索问题中的字段名称,可以非常轻松地完成此操作。 (3认同)