Search code examples
javascriptdebugginggoogle-chrome-devtools

How do you change the value of a local variable using Chrome's dev tools?


I'm using Chrome's (v21) dev tools to debug a large javascript application. While stepping through the code, I'd like to change the value of a local (function scope) variable. How do I do this?

I've tried:

  1. Clicking on the variable in the "Scope" window and editing it, hitting Enter afterward. The value changes in the Scope window as expected, but when I step to the next line, the variable then reverts back to its old value.
  2. Typing "variable = 123" in the console. After I hit Enter, the console "result" is the value I entered, but the variable itself does not change in value. If I then enter "variable" and hit Enter, the console returns the original value; the Scope window also shows the original value still.

Again, this is a local, function-scoped variable, and the current line of execution is within the same scope where the variable was defined.

This other question is essentially a duplicate, but hasn't elicited any useful answers (maybe because it's poorly written).


Solution

  • This apparently got fixed eventually. From the issue that @gabrielmaldi linked issue 124206:

    Comment 29 by [email protected] on Wed, May 4, 2016, 3:19 PM EDT 51.0.2696.0 is the first [development] version that includes a build of v8 that incorporates a fix for this regression (v8 version 5.1.224 includes this fix, and 51.0.2696.0 targets v8 version 5.1.227.1).