学习链接:

https://cnodejs.org/topic/5a9661ff71327bb413bbff5b

https://github.com/nswbmw/node-in-debugging/blob/master/4.3%20Visual%20Studio%20Code.md

1、新建 test 文件夹,新建 index.js

var http = require('http');

var server = http.createServer(function (req, rep) {
rep.writeHead(200, {"Content-Type": "text/plain"});
console.log(20180716211300, 'Hello');
rep.end("Hello World!!");
}) server.listen(3000, function (err) {
console.log('start');
});

2、用 vscode 打开 test 文件夹(项目)

  1. 单击左侧第 4 个 tab,切换到调试模式。
  2. 单击代码第 5 行 rep.end("Hello World!!"); 左侧空白处添加断点。
  3. 单击左上角 ”调试“ 的绿色三角按钮启动调试。(你可能需要配置一下launch.json)
  4. 单击左上角的终端图标打开调试控制台。

你可能需要配置一下launch.json:

{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [ {
"type": "node",
"request": "launch",
"name": "启动程序",
"program": "${workspaceFolder}/\\index.js"
}
]
}

3、开始愉快的调试

切换到终端,然后输入 curl http://localhost:3000,正常的话,会发现断点成功。

4、再切换到调试控制台(chrome Dev Tool)

就可以打印出变量了。当然通常直接通过鼠标查看变量更方便

5、自动重启nodejs

首先,全局安装 nodemon:

$ npm i nodemon -g

然后,修改 launch.json:

{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [ {
"type": "node",
"request": "launch",
"name": "启动程序",
"runtimeExecutable": "nodemon",
"restart": true,
"console": "integratedTerminal",
"program": "${workspaceFolder}/\\index.js"
}
]
}

多添加了如下几个字段:

"runtimeExecutable": "nodemon",
"restart": true,
"console": "integratedTerminal",

这时候我们在运行,保存会自动重启了

6、对现有Nodejs进程进行调试

第一步:我们不使用 vs code 启动项目,而使用传统手动命令行启动 nodejs

$ node index.js

第二步:需要先对launch.js 进行配置:

{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [ {
"name": "Attach to node",
"type": "node",
"request": "attach",
"restart": true,
"processId": "${command:PickProcess}"
}
]
}

配置成功后,启动选项会变成 “Attach to node”

此时点击运行按钮,会列出所有的 node 线程。

附加成功后,就可以试试上例的断点调试之类的啦~~

Visual Studio Code 调试 nodejs (断点调试、自动重启、进程调试)的更多相关文章

  1. Visual Studio Code搭建NodeJs的开发环境

    一.Visual Studio Code搭建NodeJs的开发环境 1.下载安装NodeJs并配置环境变量 可以参考:NodeJs的安装和环境变量配置 2.下载安装 VS Code编辑器 可以参考:V ...

  2. 剖析并利用Visual Studio Code在Mac上编译、调试c#程序

    0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...

  3. 剖析并利用Visual Studio Code在Mac上编译、调试c#程序【转】

    0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...

  4. Visual Studio Code 搭建Python开发环境

    1.下载Python https://www.python.org/downloads/windows/ 选择一个版本,目前2.0的源码比较多,我下载的2.7.12 2.配置环境变量 3.Visual ...

  5. Visual Studio Code 与 Github 集成

    使用Visual Studio Code进行Nodejs开发充满了便利,为了更好的进行开发工作,有必要使用Github进行代码管理. Visual Studio Code已经集成了GIT组件: htt ...

  6. Visual Studio Code - 快捷键

    默认快捷键 Visual Studio Code 默认快捷键 代码提示(自动补全,自动完成) 默认是快捷键是Ctrl+Space,与搜狗输入法切换中英文的快捷键冲突了..可以改搜狗输入法的快捷键(Sh ...

  7. Visual Studio Code 配合 Node.js 轻松实现JS断点调试

    一直喜欢vscode这个编辑器,今天看在liaoxuefeng.com学习nodejs时,看到上面 讲了使用vscode配合nodejs调试JS代码,原来这么简单,现在分享如下: 本人环境: Visu ...

  8. 如何用Visual Studio Code远程调试运行在服务器上的nodejs应用

    假设我有一个nodejs应用,运行在AWS - 亚马逊云平台上(Amazone Web Service).我想用本地的Visual Studio Code来远程调试服务器端的nodejs应用. Vis ...

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

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

  10. Visual Studio Code 通过 Chrome插件Type Script断点调试Angular 2

    1. 下载Visual Studio Code (https://code.visualstudio.com/) 2. 安装插件Debugger for chrome 3. 确定tsconfig.js ...

随机推荐

  1. html 空白汉字占位符

     可以看作一个空白的汉字 == 普通的英文半角空格   ==   ==   == no-break space (普通的英文半角空格但不换行)   == 中文全角空格 (一个中文宽度)   ==   ...

  2. Android -- Drawable && Bitmap

    Bitmap转Drawable Bitmap bm=xxx; BitmapDrawable bd=new BitmapDrawable(bm); 因为BtimapDrawable是Drawable的子 ...

  3. Oracle中的数值处理方法

    求绝对值函数 ) from dual; 求平方根函数 ) from dual; 求幂函数 ,3) from dual; 求余弦三角函数 select cos(3.14159) from dual; 求 ...

  4. 关于PHP写的投票网站之刷票终结版

    告诉大家一个坏消息,还是有刷票的行为,有图有真相: 倒数第三项是时间轴,倒数第二项是IP,倒数第一项是邮箱,你们要刷票,拦都拦不住呀呀呀呀呀呀!!!!! 看看这些时间的间隔,看看这些IP的地址,哎,再 ...

  5. Linux:编译动态库时遇到的错误relocation R_X86_64_32 against `a local symbol'

    编译动态库时遇到如下错误: ... ... relocation R_X86_64_32 against `a local symbol' can not be used when making a ...

  6. 虚拟机stack全分析

    通过jps -lv 获取到本地的一个JVM实例进程.再通过jstack pid  > thread.txt ,把stack trace输出到thread.txt文件中. 2012-08-28 2 ...

  7. cannot use 'throw' with exceptions disabled(转)

    在为 DragonBonesCPP/refactoring 的 cocos2d-x-3.2 demo 增加 Android 编译时,NDK 报了一个编译错误: error: cannot use ‘t ...

  8. 【docker】挂载web应用

    现在将webapps目录挂载在宿主机目录,方便运维 docker run -p 8090:8080 --name app -v /usr/app:/usr/local/tomcat/webapps d ...

  9. assert语句(assert用来判断语句的真假)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #Python学习手册 868 #assert语句(assert用来判断语句的真假) #案例 mylist=[ ...

  10. 24、java操作xml方法

    XML解析方式 1. SAX解析方式 SAX(simple API for XML)是一种XML解析的替代方法.相比于DOM,SAX是一种速度更快,更有效的方法.它逐行扫描文档,一边扫描一边解析.而且 ...