赞
踩
One of the key features of Visual Studio Code is its great debugging support. VS Code’s built-in debugger helps accelerate your edit, compile, and debug loop.
VS内部自带对Node.js runtime的debugger工具可以调试JavaScript,TypeScript以及任何其他被转译为 JavaScript 的语言。
以下的文档都是以Node.js debugger为例,但是大多数的概念和特点也能运用到其他调试器上.
点击左边栏的”Run and Debug“按键会在界面上方出现一个[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
注意的是==如果Running and Debugging还没有配置好==,则需要创建launch.json文件.:
对于大多数调试场景,创建一个launch configuration file是非常有必要的,因为它运行你配置和保存调试设置细节。
一旦开始调试,则debug toolbar就会出现在编辑器的顶部.
当一个调试会话开始时,如果断点不能被注册到则调试器就会将其变成a gray hollow circle.如果debugger不支持实时运行调试,则在源代码正在修改的同时开启调试会话也会这样.
null
can be used to “undefine” a variable)console
- what kind of console to use, for example, internalConsole
, integratedTerminal
, or externalTerminal
**${workspaceFolder}:**给出工作区(workspace)文件夹的根路径
${file}: 在活动编辑器中打开的文件
${env:name}: ’Name‘的环境变量
“windows”,“linux”,“osx”
在操作系统特定范围中定义的属性会覆盖在全局范围中定义的属性。
请注意 type 属性不能放在特定于平台的部分中,因为 type 间接决定了远程调试场景中的平台,这将导致循环依赖
VS code 调试器的特点是能够根据表达式、命中计数或两者的组合设置条件断点.
表达式条件(expression condition):只要表达式的计算结果为真,就会触发断点.
命中次数(Hit count):控制断点在“中断”执行之前需要命中多少次。
以上两个断点方式也支持function和exception断点
只有当执行到达与内联断点关联的列时,才会命中内联断点,当调试在一行中包含多条语句的小型代码({}括起来)时很有用,例如for循环:
调试器可以通过指定函数名称来支持创建断点,而不是直接在源代码中放置断点
适用的场景:
函数源代码未知的情况下但是函数名已经知道
如果调试器支持数据断点,则可以从 VARIABLES 视图设置它们,并在底层变量的值更改时受到影响。数据断点在 BREAKPOINTS 部分以红色六边形显示。
**启动多个调试会话的另一种方法是使用复合启动配置。**复合启动配置列出了应该并行启动的两个或多个启动配置的名称
在compounds属性中
"preLaunchTask": 可以指定在各个调试会话开始之前运行的步骤.
"stopAll:"控制手动终止一个会话是否会停止所有复合会话。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。