When running the following script in Safari (with the Inspector open)
window.onload = function() {
"use strict";
var x = 1;
debugger; // debugger will auto-break on this line
}
I get the following error when asking for x
in the console while being on that breakpoint:
Error
message: "'with' statements are not valid in strict mode"
Removing the "use strict";
line lets me access x
from the console while on that breakpoint.
Both times the x
is shown under Scope Variables
in the sidebar.
When running the following script in Safari (with the Inspector open)
window.onload = function() {
"use strict";
var x = 1;
debugger; // debugger will auto-break on this line
}
I get the following error when asking for x
in the console while being on that breakpoint:
Error
message: "'with' statements are not valid in strict mode"
Removing the "use strict";
line lets me access x
from the console while on that breakpoint.
Both times the x
is shown under Scope Variables
in the sidebar.
1 Answer
Reset to default 24This appears to be a known issue with Safari: https://bugs.webkit.org/show_bug.cgi?id=65829
To reproduce the Error, you simply need to type any code into the console while stopped at a breakpoint and while in strict mode.
Here's the code from the bug report:
(function(){
"use strict";
debugger;
})();
So when you're at the breakpoint, go to the console and type 2+3
(or any expression), and you'll get the Error.
with
statement somewhere in your code... I'm totally guessing here, of course... (Btwwith
statements throw in strict mode code.) – Šime Vidas Commented Dec 17, 2011 at 14:07with
statement has been removed from the strict mode, and we don't expect it in ES6. – Šime Vidas Commented Dec 17, 2011 at 14:11console.log
output works fine in both cases, that has never been an issue for me. (It's just there to be able to set a breakpoint in the inspector.) – Timm Commented Dec 17, 2011 at 14:33