我正在调试一些遗留代码,我们有一个看似在外部更改的缓存对象。
如果我知道它的对象标识符(在调试时),是否有某种方法可以“观察”它,以便如果同一线程或另一个线程中的某些其他代码尝试修改其状态,它将触发我的调试?
我不能只使用表达式监视它,因为在其他地方可能会引用该对象,因为同一个类有很多实例。
答案 0 :(得分:17)
在值更改时,在要停止的代码中设置断点。
答案 1 :(得分:14)
如果它被声明为某个类或实例变量(应该是,如何缓存它),那么您也可以在特定行上设置断点。它将被称为watchpoint
,默认情况下将在访问和修改(可通过断点属性配置)上触发。