Aller au contenu principal

Classe : Debugger

Classe : Debugger

Un transport alternatif pour le protocole de débogage distant de Chrome.

Processus : Principal
Cette classe n'est pas exportée depuis le module 'electron'. Il n'est disponible qu'en tant que valeur de retour des autres méthodes dans l'API Electron.

Chrome Developer Tools possède une liaison spéciale disponible à l'exécutable JavaScript qui permet d'interagir avec les pages et de les instrumentaliser.

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')

Événements d’instance

Événement : 'detach'

Retourne :

  • event Event
  • reason string - Reason for detaching debugger.

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

Événement : 'message'

Retourne :

  • event 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.

Émis chaque fois que la cible de débogage émet un événement d'instrumentation.

Méthodes d’instance

debugger.attach([protocolVersion])

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

Attache le débogueur au webContents.

debugger.isAttached()

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

debugger.detach()

Détache le débogueur depuis le webContents.

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

  • method string - Method name, should be one of the methods defined by the remote debugging protocol.
  • commandParams n'importe quel objet (facultatif) - JSON avec les paramètres de la requête.
  • sessionId string (optional) - send command to the target with associated debugging session id. The initial value can be obtained by sending Target.attachToTarget message.

Retourne Promise<any> - Une promesse qui se résout avec la réponse définie par l'attribut 'returns' de la description de la commande dans le protocole de débogage distant ou qui est rejetée indiquant l'échec de la commande.

Envoi une commande au débogueur.