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. 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
Eventreason
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 webContents
attaché .
Événement : 'message'
Retourne :
event
Eventmethod
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 depuisdebugger.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.