break-on-access

break on access to a property

  • Owner: paulirish/break-on-access
  • Platform:
  • License:: Other
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Usage

Omg the cookie is being changed, but where? Give me a breakpoint when JS changes my cookies!

breakOn(document, 'cookie');

Some JS is getting the scrollTop value causing massive Recalculate Styles costs. Who is the perpetrator PERFetrator?

breakOn(document.body,'scrollTop', 'read')

This works really well as a snippet in the Chrome DevTools:

By default, breakOn will only break when JS attempts to change the value of a property. The third optional argument takes 'read' if you'd also like to break when values are read.

It is also possible to disable/enable a breakpoint by using methods provided by returned object.

    var bp = breakOn(document, 'cookie');
    // found it!
    bp.disable();
    // something else is up....
    bp.enable();

breakOn also supports Conditional Breakpoints when the 4th argument is a function.
Say you know a property is being changed after the 4th change.

    var i = 0;
    var bp = breakOn(document, 'cookie', false, function(v) {
        return i++ >= 4;
    });

Or something is leaving a property undefined

    var bp = breakOn(document, 'cookie', false, function(v) {
        return typeof v === 'undefined';
    });

Authors

Dave Methvin, Paul Irish, fat, and these handsome people

Alternatives

History

Object.defineProperty(twttr, 'profile', {
    get: function () {
      debugger
    }
  , set: function (val) {
      debugger
    }
})

Main metrics

Overview
Name With Ownerpaulirish/break-on-access
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 2)
Platform
License:Other
所有者活动
Created At2013-09-15 20:07:06
Pushed At2019-06-02 23:18:13
Last Commit At2018-03-08 20:03:36
Release Count0
用户参与
Stargazers Count1.2k
Watchers Count37
Fork Count129
Commits Count33
Has Issues Enabled
Issues Count15
Issue Open Count8
Pull Requests Count5
Pull Requests Open Count2
Pull Requests Close Count3
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private