I set a breakpoint in a javascript function with Google Chrome Developer Tools.
I am looking for a variable in the scope variables of the function with the value "Fred." How do I search for this value amongst the variables within the scope of the function?
When browser execution reaches the breakpoint, you'll have access to all variable/functions within its, and the global, scope. Navigate to the console tab and start typing, the console will autocomplete variables within scope.
Go to DevTools settings (the cog wheel). Check General > Sources > Display variable values inline while debugging.
To add a variable to the watch list use the add icon to the right of the section heading. This will open an inline input where you provide the variable name to watch. Once it is filled in press your Enter key to add it to the list. The watcher will show you the current value of the variable as it is added.
You'll need to add a script to the console so that you can actually perform a search, as the Developer Tools don't allow for this by default. Here's that function for you (See my Gist comment below for an update):
function scanScope(whatToScan, scanValue) { for (var key in whatToScan) { if (whatToScan[key] == scanValue) { console.log(key + ' = ' + whatToScan[key]); } else { if( (typeof whatToScan[key] === "object") && (key !== null) ) { scanScope(whatToScan[key], scanValue); } } } }
Copy and paste that into the console, and then call it with the scope you want to search through and the value you want to search for. Be careful that you don't search too large an object, of course. If you're programming in Angular, for instance, and following the "always have a dot" rule, you can scan through it with a call like:
scanScope($scope.model, 'Fred');
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With