codecamp

Electron 调试应用

无论何时,您的Electron应用程序没有按照您设想的方式运行,一组调试工具也许可以帮助您找到代码的错误,性能瓶颈,或者优化的机会。

渲染进程

最广泛使用来调试指定渲染进程的工具是Chromium的开发者工具集。 它可以获取到所有的渲染进程,包括BrowserWindow的实例,BrowserView以及WebView。 您可以通过编程的方式在BrowserWindow的webContents中调用openDevTool()API来打开它们:

const { BrowserWindow } = require('electron')

const win = new BrowserWindow()
win.webContents.openDevTools()

谷歌为他们的开发者工具提供了杰出的文档。 我们建议您熟悉它们,它们对于任何Electron开发者来说通常都是工具包中最强大的工具之一。

主进程

调试主进程有点棘手, 因为您不能简单地打开开发者工具来调试它们。 多亏了谷歌和Node.js的紧密合作,Chromium开发者工具可以被用来调试Electron的主进程,否则你也许会遇到许多怪事就像require不能再控制台中显示。

V8 崩溃

如果V8环境崩溃的话, DevTools 将显示以下信息

DevTools was disconnected from the page.(DevTools 与页面断开连接) Once page is reloaded, DevTools will automatically reconnect.(页面重新载入后,DevTools 将自动重新连接)

Chromium日志可以通过ELECTRON_ENABLE_LOGGING环境变量启用。

或者,可以传递命令行参数--enable-logging


Electron 开发者工具扩展
Electron Headless CI Systems 测试 (Travis CI, Jenkins)
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }