0

我正在构建一个开源 Node.js 调试器,它是一个电子应用程序,并在渲染过程中使用内置调试器。完整来源:https ://github.com/fijiwebdesign/electron-scope/

在主进程中,我想启动脚本进行调试并在第一行设置断点。

我正在关注 Electron 中针对 chrome 调试器 api 的测试: https ://github.com/electron/electron/blob/702352804239f58e5abcd0b96dbd748b68ab0278/spec/api-debugger-spec.js#L77

我的代码:

win.webContents.debugger.sendCommand(
        'Debugger.setBreakpointByUrl', {
            lineNumber: 0,
            url: './test.js'
        },
        function (err, result){
            if(err){
                console.error('Error:', err)
            }
            console.log('Breakpoint Result: ', result)
        })

完整参考:https ://github.com/fijiwebdesign/electron-scope/blob/setBreakpoint/index.js#L51

这记录:Result: { breakpointId: './test.js:0:0', locations: [] }

但是,没有设置断点。我假设如果有那么位置将保存信息。

您可以在此处找到我要设置断点的分支: https ://github.com/fijiwebdesign/electron-scope/tree/setBreakpoint

4

1 回答 1

1

我认为您可能需要运行Debugger.enable以激活调试器,以便后续调试器命令起作用。但是,我不熟悉 Electron 的 API,因此它可能天生就是如此。

win.debugger.sendCommand('Debugger.enable', {}, function() {
    setBreakpoint(win);
});
于 2017-02-03T12:13:31.450 回答