0

我正在構建一個開源的Node.js調試器,它是一個電子應用程序,並在渲染過程中使用內置的調試器。 全部源代碼:https://github.com/fijiwebdesign/electron-scope/通過chrome遠程調試在電子設置斷點API

在主進程中我想啓動腳本來調試並在第一行設置一個斷點。

我下面的鍍鉻調試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

回答

1

我想你可能需要運行Debugger.enable,使後續的調試命令工作,以激活調試。但是,我對Electron的API並不熟悉,所以它本質上可能會這樣做。

win.debugger.sendCommand('Debugger.enable', {}, function() { 
    setBreakpoint(win); 
});