How to set a JavaScript breakpoint from code in Chrome?
I want to force the Chrome debugger to break on a line via code, or else using some sort of comment tag such as something like console.break().
Solutions/Answers:
Solution 1:
You can use debugger;
within your code. If the developer console is open, execution will break. It works in firebug as well.
Solution 2:
Set up a button click listener and call the debugger;
Example
$("#myBtn").click(function() {
debugger;
});
Demo
Resources on debugging in JavaScript
Solution 3:
You can also use debug(function)
, to break when function
is called.
Command Line API Reference: debug
Solution 4:
As other have already said, debugger;
is the way to go.
I wrote a small script that you can use from the command line in a browser to set and remove breakpoint right before function call:
http://andrijac.github.io/blog/2014/01/31/javascript-breakpoint/
Solution 5:
On the “Scripts” tab, go to where your code is. At the left of the line number, click. This will set a breakpoint.
Screenshot:
You will then be able to track your breakpoints within the right tab (as shown in the screenshot).
Solution 6:
debugger
is a reserved keyword by EcmaScript and given optional semantics since ES5
As a result, it can be used not only in Chrome, but also Firefox and Node.js via node debug myscript.js
.
The standard says:
Syntax
DebuggerStatement : debugger ;
Semantics
Evaluating the DebuggerStatement production may allow an implementation to cause a breakpoint when run under a debugger. If a debugger is not present or active this statement has no observable effect.
The production DebuggerStatement : debugger ; is evaluated as follows:
- If an implementation defined debugging facility is available and enabled, then
- Perform an implementation defined debugging action.
- Let result be an implementation defined Completion value.
- Else
- Let result be (normal, empty, empty).
- Return result.
No changes in ES6.