Saltar al contenido principal

Clase: Debugger

Clase: Debugger

Un transporte alternativo para el protocolo de depuración remoto de Chrome.

Proceso: Main
Esta clase no está exportada desde el módulo 'electron'. Sólo está disponible como un valor de retorno de otros métodos en la API de Electron.

Las herramientas para desarrolladores de Chrome tiene un special binding disponible en JavaScript runtime que permite interactuar con las páginas y equiparlas.

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

try {
win.webContents.debugger.attach('1.1')
} 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') {
win.webContents.debugger.detach()
}
}
})

win.webContents.debugger.sendCommand('Network.enable')

Eventos de Instancia

Evento: 'detach'

Devuelve:

  • event
  • reason string - Reason for detaching debugger.

Emitido cuando la sesión de depuración es terminada. Esto ocurre cuando webContents es cerrado o el devtools es invocado para el webContents adjunto.

Evento: 'message'

Devuelve:

  • event
  • method string - Method name.
  • params any - Event parameters defined by the 'parameters' attribute in the remote debugging protocol.
  • sessionId string - Unique identifier of attached debugging session, will match the value sent from debugger.sendCommand.

Emitido cada vez que el objetivo de depuración emite un evento de instrumentación.

Métodos de Instancia

debugger.attach([protocolVersion])

  • protocolVersion string (optional) - Requested debugging protocol version.

Adjunta el depurador al webContents.

debugger.isAttached()

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

debugger.detach()

Desasocia el depurador de la webContents.

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

  • method string - Method name, should be one of the methods defined by the remote debugging protocol.
  • commandParams any (opcional) - Objeto JSON con parámetros de la solicitud.
  • sessionId string (optional) - send command to the target with associated debugging session id. The initial value can be obtained by sending Target.attachToTarget message.

Devuelve Promise<any> - Una promesa que resuelve con la respuesta definida por el atributo 'returns' del comando de descripción en el protocolo de depuración remoto o es rechazada indicando el fallo del comando.

Envía el comando al objetivo de la depuración.