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'. Elle 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 - Raison du détachement du débogueur.

Émis lorsque la session de débogage est terminée. Cela se produit lorsque webContents est fermé, ou que devtools est appelé pour le webContentsattaché .

Événement : 'message'

Retourne :

  • event Event
  • method string - Nom de la méthode.
  • params any- Paramètres de l''événement définis par l'attribut 'parameters' du protocole de débogage distant.
  • sessionId string - Identifiant unique de la session de débogage attachée, correspondra à la valeur envoyée depuis 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 requise du protocole de débogage.

Attache le débogueur au webContents.

debugger.isAttached()

Retourne boolean - Indique si un débogueur est attaché au webContents.

debugger.detach()

Détache le débogueur depuis le webContents.

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

  • méthode string - Nom de la méthode, doit être une des méthodes définies par le protocole de débogage distant.
  • commandParams any (facultatif) - Objet JSON avec les paramètres de la requête.
  • sessionId string (facultatif) - envoie la commande à la cible avec l'identifiant de session de débogage associé. La valeur initiale peut être obtenue en envoyant le message Target.attachToTarget.

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 indique l'échec de la commande qand elle est rejetée.

Envoi une commande au débogueur.