Visual Studio Code调试electron主进程

作者: jekkay 分类: electron 发布时间: 2017-06-11 14:56 

一·概述

此文原出自【水滴石】: http://www.easysb.cn

对于窗口中的javascript脚本,我们可以通过谷歌浏览器的很多插件来调试,比如DevTools等。但是对于Electron中的主程序,我们需要额外的工具和方法来进行调试。

对于Electron程序,可以通过以下的命令启动程序,以方便外部调试工具通过V8调试协议来调试,其命令格式如下:

# elctron –debug=${port} path/to/app

# electron –debug-brk=${port} path/to/app

上面两种启动方式,都会使得Electron进程在指定的端口监听。这样,外部的调试工具就可以通过此端口,通过V8调试协议调试主程序。

二·VSCode 调试

使用Visual Studio Code可以调试Electron的主程序,这给我们开发调试带来很大便捷,方法如下:

1) 在当前工程下,创建文件 .vscode/launch.json

2) 在该文件中输入以下内容

{
“version”: “0.2.0”,
“configurations”: [
{
“name”: “Debug Main Process”,
“type”: “node”,
“request”: “launch”,
“cwd”: “${workspaceRoot}”,
// “runtimeExecutable”: “${workspaceRoot}/node_modules/.bin/electron.cmd”,
“runtimeExecutable”: “C:/Users/Administrator.SKY-20170407TCX/AppData/Local/Yarn/bin/electron.cmd”,
“program”: “${workspaceRoot}/main.js”
}]
}
 
 
     注意以下两个问题:
        a) 路径问题
              如果electron是局部安装的话,就执行局部环境路径,例如”${workspaceRoot}/node_modules/.bin/electron.cmd”,如果是全局安装的话,先执行yarn global bin查看全局的路径,然后将electron的路径填写进去,比如我的全局路径就是”C:/Users/Administrator.SKY-20170407TCX/AppData/Local/Yarn/bin/electron.cmd”。
       b) 文件名
            Linux和Windows的文件名会有所有不同,Windows的是electron.cmd,Linux的是electron,注意区分,最好的办法就是去路径下查看一下到底叫什么鬼!
  3) 接下来,就可以点击菜单Debug -> Start Debugging,也可以直接按快捷键F5,启动程序。
  4) 为了测试是否可以单步之类的操作,我们在主程序的第一行,打下断点,然后按下F5启动,主程序就断在了第一行代码中,而且还可以单步、查看变量以及调用栈等,相当方便,如下图。

Visual Studio Code调试electron主进程的更多相关文章

  1. 使用Visual Studio Code调试Electron主进程

    1.打开VS Code,使用文件->打开,打开程序目录 2.切换到调试选项卡 3.打开launch.json配置文件 4.在“附加到进程”节点上增加localhost配置 5.使用命令行启动el ...

  2. Visual Studio Code 调试 PHP

    Visual Studio Code 调试 PHP 2018/12/4 更新 Nginx + php-cgi.exe 下与 Visual Studio Code 配合调试 必需环境 Visual St ...

  3. Visual Studio Code调试node.js:无法在PATH上找到运行时的node

    首先,环境变量Path中加入nodejs的路径: 验证nodejs是否已经加入环境变量: 接着,重新启动Visual Studio Code, 试一下,是不是好了~   附录:Visual Studi ...

  4. 使用Visual Studio Code调试基于ActionScript的LayaAir HTML5游戏

    使用Visual Studio Code(VS Code)调试的优势 使用VS Code我们可以极大地提高LayaAir Html5游戏项目的调试效率,VS Code的优势有以下几点: 在发生Java ...

  5. 如何使用Visual Studio Code调试PHP CLI应用和Web应用

    在按照Jerry的公众号文章 什么?在SAP中国研究院里还需要会PHP开发? 进行XDebug在本地的配置之后,如果想使用Visual Studio Code而不是Eclipse来调试PHP应用,步骤 ...

  6. windows下用visual studio code 调试go代码

    http://www.golangtc.com/download下载安装包或压缩包 配置环境变量 配置GOROOT: 配置PATH:在PATH最后添加 配置GOPATH:GOPATH的作用请自行百度, ...

  7. 用 Visual Studio Code 调试 Node.js

    环境: Visual Studio Code  Node.js 1. 关闭运行中的程序 2.打开入口文件,我这里的入口文件为 app.js 3.点击左侧菜单栏的 debug 按钮 4.点击运行按钮 5 ...

  8. visual studio code 调试nodejs 配置简单HTTP服务器

    介绍 Visual Studio Code是一个轻量级的Web集成开发环境on Linux,Mac and Windows,特别是作为前端人员来了, 多了一个可供选择的生产力工具IDE,调试js代码简 ...

  9. Go学习笔记(二)搭建Visual Studio Code调试环境

    上一篇 Go学习笔记(一)安装Go语言环境 安装Visual Studio Code 这是目前我觉得最好用的文本编辑器了, https://code.visualstudio.com/ 中间有几部确认 ...

随机推荐

  1. module.exports,exports,export和export default,import与require区别与联系

    还在为module.exports.exports.export和export default,import和require区别与联系发愁吗,这一篇基本就够了! 一.首先搞清楚一个基本问题: modu ...

  2. Mac系统下Eclipse代码联想功能(代码助手,代码提示)快捷键

    Eclipse for mac 代码提示(代码助手,代码联想)快捷键修改一.每次输入都自动提示点击Eclipse,使其成为第一响应者,preferences->Java->Editor-& ...

  3. Django跨域解决方法

    from django.utils.deprecation import MiddlewareMixin class Mymiddle(MiddlewareMixin): def process_re ...

  4. Mongodb利用aggregation实现抽样查询(按记录数和时间)

    之前对mongodb不熟,但是项目要用,因为数据量比较大,并且领导要实现抽样查询,控制数据流量,所以自己研究了下,亲测可用,分享一下! 话不多说,上代码: 第一种方案:加自增主键,实现按记录数抽样 1 ...

  5. 基础selenium+Python(定位、等待、打印)

    1.第一个脚本 # coding = utf-8 from selenium import webdriver browser = webdriver.Firefox() browser.get(&q ...

  6. HttpSessionListener

    1 知识点

  7. vue-cli 基础搭建

    1.安装node 2.npm install webpack -g 3.npm install vue-cli -g 4.然后进入到文件下边 vue init webpack 文件名字 5.进入工程文 ...

  8. Android OpenGL教程-第五课【转】

    第五课 3D空间: 我们使用多边形和四边形创建3D物体,在这一课里,我们把三角形变为立体的金子塔形状,把四边形变为立方体. 先看看三角形的顶点变成啥了 private float[] mTriangl ...

  9. ng-value中格式化日期

    ng-value="conferenceinfo.create_time | date:'yyyy-MM-dd'"

  10. Firebird execute block 批处理

    火鸟的批处理,效率好高,使用简单. execute block as declare variable i ; begin ) do begin :i = :i + ; insert into m_u ...