クラス: 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'
戻り値
event
Eventreason
string - デバッガーがデタッチする理由。
デバッグセッションが終了したときに発生します。これは、webContents
が閉じられたとき、またはアタッチされたwebContents
に対してdevtoolsが呼び出されたときに発生します。
イベント: 'message'
戻り値
event
Eventmethod
string - メソッド名。params
any - リモートデバッグプロトコルの「parameters」属性で定義されたイベントパラメータ。sessionId
string - アタッチされたデバッグセッションの一意の識別子。debugger.sendCommand
から送信された値と一致します。
デバッグターゲットがインストルメンテーションイベントを発行するたびに発生します。
インスタンスメソッド
debugger.attach([protocolVersion])
protocolVersion
string (オプション) - 要求されたデバッグプロトコルのバージョン。
デバッガーをwebContents
にアタッチします。
debugger.isAttached()
戻り値 boolean
- デバッガーがwebContents
にアタッチされているかどうか。
debugger.detach()
デバッガーをwebContents
からデタッチします。
debugger.sendCommand(method[, commandParams, sessionId])
method
string - メソッド名。 リモートデバッグプロトコルで定義されているメソッドのいずれかである必要があります。commandParams
any (オプション) - リクエストパラメータを含むJSONオブジェクト。sessionId
string (オプション) - 関連付けられたデバッグセッションIDを持つターゲットにコマンドを送信します。初期値は、Target.attachToTargetメッセージを送信することで取得できます。
戻り値 Promise<any>
- リモートデバッグプロトコルのコマンド記述の「returns」属性で定義された応答で解決されるプロミス、またはコマンドの失敗を示すエラーで拒否されるプロミス。
指定されたコマンドをデバッグターゲットに送信します。