クラス: Debugger
クラス: Debugger
Chromeのリモートデバッグプロトコルの代替トランスポート。
プロセス: メイン
このクラスは'electron'モジュールからエクスポートされません。Electron APIの他のメソッドの戻り値としてのみ利用可能です。
Chrome Developer Toolsには、ページと対話し、インストルメント化を可能にするJavaScriptランタイムで使用できる特別なバインディングがあります。
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')
インスタンスイベント
イベント: 'detach'
戻り値
- eventEvent
- reasonstring - デバッガーがデタッチする理由。
デバッグセッションが終了したときに発生します。これは、webContentsが閉じられたとき、またはアタッチされたwebContentsに対してdevtoolsが呼び出されたときに発生します。
イベント: 'message'
戻り値
- eventEvent
- methodstring - メソッド名。
- paramsany - リモートデバッグプロトコルの「parameters」属性で定義されたイベントパラメータ。
- sessionIdstring - アタッチされたデバッグセッションの一意の識別子。- debugger.sendCommandから送信された値と一致します。
デバッグターゲットがインストルメンテーションイベントを発行するたびに発生します。
インスタンスメソッド
debugger.attach([protocolVersion])
- protocolVersionstring (オプション) - 要求されたデバッグプロトコルのバージョン。
デバッガーをwebContentsにアタッチします。
debugger.isAttached()
戻り値 boolean - デバッガーがwebContentsにアタッチされているかどうか。
debugger.detach()
デバッガーをwebContentsからデタッチします。
debugger.sendCommand(method[, commandParams, sessionId])
- methodstring - メソッド名。 リモートデバッグプロトコルで定義されているメソッドのいずれかである必要があります。
- commandParamsany (オプション) - リクエストパラメータを含むJSONオブジェクト。
- sessionIdstring (オプション) - 関連付けられたデバッグセッションIDを持つターゲットにコマンドを送信します。初期値は、Target.attachToTargetメッセージを送信することで取得できます。
戻り値 Promise<any> - リモートデバッグプロトコルのコマンド記述の「returns」属性で定義された応答で解決されるプロミス、またはコマンドの失敗を示すエラーで拒否されるプロミス。
指定されたコマンドをデバッグターゲットに送信します。