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

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.

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 Latest 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

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung InternetNode.js
Basic supportChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support

See also

Document Tags and Contributors

Last updated by: fscholz,