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 Cadena - Razón para desasociar el depurador.

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 Cadena- Nombre del método.
  • 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 Cadena (opcional) - Versión solicitada del protocolo de depuración.

Adjunta el depurador al webContents.

debugger.isAttached()

Devuelve Boolean - Si un depurador se adjunta o no a la 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.