debugger

The debugger statement invokes any available debugging functionality, such as setting a breakpoint. If no debugging functionality is available, this statement has no effect.

Syntax

JavaScript
debugger;

Examples

The following example shows code where a debugger statement has been inserted, to invoke a debugger (if one exists) when the function is called.

JavaScript
function potentiallyBuggyCode() {
    debugger;
    // do potentially buggy stuff to examine, step through, etc.
}

When the debugger is invoked, execution is paused at the debugger statement. It is like a breakpoint in the script source.

Paused at a debugger statement.

Specifications

Specification Status Comment
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Debugger statement' in that specification.
Draft  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Debugger statement' in that specification.
Standard  
ECMAScript 5.1 (ECMA-262)
The definition of 'Debugger statement' in that specification.
Standard Initial definition
ECMAScript 3rd Edition (ECMA-262)
The definition of 'Debugger statement' in that specification.
Standard  
ECMAScript 1st Edition (ECMA-262)
The definition of 'Debugger statement' in that specification.
Standard Only mentioned as reserved word.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

See also

License

© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-us/docs/web/javascript/reference/statements/debugger

JavaScript Statement