如何知道Javascript中的哪些代码更改或访问了对象中的属性?不是DOM对象

如何知道Javascript中的哪些代码更改或访问了对象中的属性?不是DOM对象,javascript,debugging,internet-explorer,firefox,google-chrome-devtools,Javascript,Debugging,Internet Explorer,Firefox,Google Chrome Devtools,我有Javascript对象(一些是数组),它们在http get请求期间填充。对象中属性的某些值在执行期间得到更新。代码不是我的,所以我正在跟踪代码中这些值的更改位置。执行此跟踪可能会很耗时,因此我正在查看是否有一种方法可以在属性值更改时使调试器中断 我在这方面见过类似的问题,但它们可以追溯到几年前,它们建议使用不同类型的代码片段。我想这已经变得更容易与现代浏览器之一,也许内置的devtools功能?有?如果不是,那么什么是好的JS代码段 如果您知道哪些属性被更改或访问,但不知道在哪里,我会用

我有Javascript对象(一些是数组),它们在http get请求期间填充。对象中属性的某些值在执行期间得到更新。代码不是我的,所以我正在跟踪代码中这些值的更改位置。执行此跟踪可能会很耗时,因此我正在查看是否有一种方法可以在属性值更改时使调试器中断

我在这方面见过类似的问题,但它们可以追溯到几年前,它们建议使用不同类型的代码片段。我想这已经变得更容易与现代浏览器之一,也许内置的devtools功能?有?如果不是,那么什么是好的JS代码段

如果您知道哪些属性被更改或访问,但不知道在哪里,我会用getter/setter对覆盖这些属性。调用setter时,调用
调试器
,或
抛出新错误()
,或
控制台.trace()
并检查堆栈跟踪:

constobj={foo:'foo'};
Object.defineProperty(obj,'foo'{
得到(){
log('get foo');
console.trace();
},
集合(newVal){
console.log('settingfoo');
console.trace();
}
});
const gottenFoo=obj.foo;
obj.foo='bar'如果您知道哪些属性被更改或访问,但不知道在哪里,我将使用getter/setter对覆盖这些属性。调用setter时,调用
调试器
,或
抛出新错误()
,或
控制台.trace()
并检查堆栈跟踪:

constobj={foo:'foo'};
Object.defineProperty(obj,'foo'{
得到(){
log('get foo');
console.trace();
},
集合(newVal){
console.log('settingfoo');
console.trace();
}
});
const gottenFoo=obj.foo;

obj.foo='bar'可以在类似的线程中引用。此外,您还可以检查哪种方法提供了7种监视Javascript变量值变化的方法。这些监视方法似乎只是告诉您值何时变化。我特别要求中断正在更改值的代码。您可以在类似的线程中引用。此外,您还可以检查哪种方法提供了7种监视Javascript变量值变化的方法。这些监视方法似乎只是告诉您值何时变化。我特别要求在改变值的代码处中断。