一、建立配置文件


1、选择你的项目

2、选择你项目的语言

3、当前项目路径下生成 .vscode/launch.json

{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/test.js"
}
]
}

type - 用于此启动配置的调试器类型。每个安装的调试扩展都会引入一种类型,例如,node 内置节点调试器,php 以及 goPHP 和 Go 扩展。

request - 此启动配置的请求类型。目前支持的是 launch 和 attach。( request 的详解见下面的第章)

name - 友好名称,显示在“调试启动配置”下拉列表中。

program - 启动调试器时要运行的可执行文件或文件

args - 传递给程序进行调试的参数

env- 环境变量(该值 null 可用于“取消定义”变量)

cwd - 当前工作目录,用于查找依赖项和其他文件

注1:${workspaceFolder} 表示工作空间文件夹的根路径,${file} 表示活动编辑器中打开的文件。

注2:”program": "${workspaceFolder}/test.js”,我不太清楚 vscode 是怎么识别我想要调试当前目录下的 /test.js[待解决]

注3:还可以把配置文件写进 User Settings 成为全局配置。



4、快速回到你的配置文件



二、打断点


1、Breakpoint (传统断点)

(1)图形用圆形代替

(2)不可以打在空行上

2、Logpoint

(1)可以在 debug console 里打印出信息(用 {} 包裹表达式)

(2)图形用菱形代替

(3)如果不打在语句上,而是空行,则调试执行的时候,会消失,但不影响效果。所以还是推荐打在语句上!

3、Conditional Breakpoint

分两种条件:表达式 / 命中数

(1)可以在符合条件时中断到离此断点下方最近的一条语句上

(2)图形用正方形代替

(3)如果不打在语句上,而是空行,则调试执行的时候,会消失,但不影响效果

三、调试


章提到的 launch.json 配置文件里有 request 字段,取值范围为:launchattach

launch:vscod e独立自主的跑起一个调试进程

attach:你通过 node --inspect-brk xxx.js 自行启动调试,然后 vscode 再去 attach 它

下面就分这两类来说说具体调试方式的区别:

1、launch 方式


(1)点击 Launch Program

(2)选择启动哪个配置文件

注:launch.json 配置文件中 name 属性的值会显示在这个下拉列表中。

(3)开始调试

2、attach 方式


(1)把 Auto Attach:On 打开

(2)以调试的方式启动 node
node --inspect-brk test.js
(3)开始调试

四、调试相关功能


1、DEBUG CONSOLE

可以在此操作变量

五、多目标调试


需求:同时调试 server.jsclient.js

1、建立配置文件

{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Server",
"program": "${workspaceFolder}/server.js",
"cwd": "${workspaceFolder}"
},
{
"type": "node",
"request": "launch",
"name": "Client",
"program": "${workspaceFolder}/client.js",
"cwd": "${workspaceFolder}"
}
],
"compounds": [
{
"name": "Server/Client",
"configurations": ["Server", "Client"]
}
]
}

2、开始调试


注1:调试的时候,可以同时运行程序

注2:当修改代码,同时运行的程序会立即生效,而调试的代码还是老的

参考资料


https://code.visualstudio.com/docs/editor/debugging#_launch-configurations

最新文章

  1. 【树莓派】树莓派使用4G模块上网
  2. .htaccess下Flags速查表
  3. target,currentTarget和this三者的区别
  4. vs2010下编译osip2和eXosip2的4.0.0版的静态库及搭建开发环境
  5. vs2012后设置显示行号结果整个窗口都变成黑色了,怎么变回来
  6. “锁定”语句 lock(C# 参考)
  7. 日期类型的input元素设置默认值为当天
  8. 《数据通信与网络》笔记--TCP中的拥塞控制
  9. [liu yanling]测试流程
  10. 精美的 ( Android, iPhone, iPad ) 手机界面设计素材和线框图设计工具
  11. java JNI开发
  12. 转Y-slow23原则(雅虎)
  13. SQL Server数据类型有哪些
  14. Rxjava2视频笔记
  15. 删除一个目录及其子目录下的所有.svn文件
  16. 移动 Ubuntu16.04 桌面左侧任务栏到屏幕底部
  17. leetcode1032
  18. 个人css编写规范
  19. linux chkconfig添加开机启动服务
  20. Linux 修改最大连接数脚本

热门文章

  1. delphi 中的win32 以外到平台的字符串处理一定慢吗?(转载)
  2. Java的GUI如何能够切换界面
  3. vue导航栏实时获取URL设置当前样式,刷新也存在!
  4. Java的背景、影响及前景
  5. java中的标识符、关键字、保留字
  6. Redis-5.0.0集群配置
  7. 巧用NULL模式解耦依赖
  8. C++的重载流输出运算符
  9. C#-VS SQLServer数据库编程-摘
  10. MapGis如何实现WebGIS分布式大数据存储的