我正试图重构一些相当可怕的代码。它以非常复杂的方式绕过对象我无法跟踪并且显然直接访问代码中其他位置的对象内的基元。我试图找出如何使用调试器找出我感兴趣的对象何时/何地被传递到传递这些对象的令人困惑的黑盒代码之后。
我想要的是一种设置在修改对象(或基元)时断开的观察点的方法。我知道可以在变量上设置观察点,但这不是我想要的。指向我感兴趣的对象的变量在函数调用结束时消失,我希望在此函数返回后继续跟踪对象。
有人能告诉我Eclipse是否具有此功能?我正在使用Helios。
由于
答案 0 :(得分:3)
您可以在您感兴趣的班级的每个字段上设置watchpoint。
或者,您可以使用调用层次结构找到引用某个字段的源中的所有位置(单击该字段,然后按Ctrl-Alt-H)。这样做的好处是,您不仅可以在程序的特定执行中查找字段的访问位置,还可以查找所有可能的执行。
请注意,如果使用反射访问该字段,则两种方法都不会注意到。