Aller au contenu principal

Classe : Debugger

Classe : Debugger

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

Process: Main
This class is not exported from the 'electron' module. It is only available as a return value of other methods in the Electron API.

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 - Motif du retrait du débogueur.

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 - Nom de la méthode.
  • 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 (facultatif) - Version de protocole de débogage demandée.

Attache le débogueur au webContents.

debugger.isAttached()

Retourne Boolean - Si un débogueur est attaché au 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.