Electron Documentation1.7.8

Docs / API / Debugger

Class: Debugger

An alternate transport for Chrome’s remote debugging protocol.

Process: Main

Chrome Developer Tools has a special binding available at JavaScript runtime that allows interacting with pages and instrumenting them.

const {BrowserWindow} = require('electron')
let win = new BrowserWindow()

try {
} catch (err) {
  console.log('Debugger attach failed : ', err)

win.webContents.debugger.on('detach', (event, reason) => {
  console.log('Debugger detached due to : ', reason)

win.webContents.debugger.on('message', (event, method, params) => {
  if (method === 'Network.requestWillBeSent') {
    if (params.request.url === 'https://www.github.com') {


Instance Methods


Attaches the debugger to the webContents.


Returns Boolean - Whether a debugger is attached to the webContents.


Detaches the debugger from the webContents.

debugger.sendCommand(method[, commandParams, callback])

Send given command to the debugging target.

Instance Events

Event: ‘detach’

Emitted when debugging session is terminated. This happens either when webContents is closed or devtools is invoked for the attached webContents.

Event: ‘message’

Emitted whenever debugging target issues instrumentation event.

See something that needs fixing? Propose a change on the source.
Need a different version of the docs? See the available versions or community translations.
Want to search all the documentation at once? See all of the docs on one page.