vscode调试核心是断点、监视和调用 堆栈 三要素:断点可设行断点、函数断点、异常断点;监视支持实时查看与编辑表达式;调用堆栈展示函数调用链并支持重启帧。

VSCode 调试器上手不难,关键是理解断点怎么设、变量怎么盯、函数调用路径怎么看。掌握这三块,基本调试就稳了。
断点:让程序在你想停的地方停下
断点是最常用的调试起点。在代码行号左侧灰色区域单击,出现红点即表示断点已设置;再次点击可取消。支持条件断点(右键红点 →“编辑断点”),比如填入 count > 10,程序只在满足条件时暂停。
- 行断点最常用,适合检查某一行执行前 / 后的状态
- 函数断点(在“断点”面板里点 + 号 →“函数断点”)适合快速跳进某个函数,不用提前知道它在哪行
- 异常断点(调试侧边栏 →“断点”→ 勾选“未捕获的异常”或“所有异常”)能帮你揪出突然崩掉的错误源头
监视:实时看变量值,比 console.log 更干净
调试时鼠标悬停在变量上能看到当前值,但想持续关注多个表达式,就用“监视”面板。点击调试侧边栏的“监视”,再点 + 号,输入变量名或任意合法表达式,比如 items.Length 或 user?.profile?.name。
- 监视项会随每次暂停自动刷新,值变色(橙色)表示和上次不同
- 支持修改值:点击监视结果右侧的铅笔图标,直接编辑并回车,可临时改变运行状态(适合模拟边界情况)
- 注意:监视的是当前 作用域 可见的变量,闭包 或异步 回调中可能看不到预期变量
调用堆 栈:看清函数是怎么一层层调过来的
暂停后,“调用堆栈”面板显示从入口到当前暂停点的完整函数调用链。顶部是当前执行位置,底部通常是启动代码(如 node index.js 或 浏览器 Event loop)。
- 点击某一层,编辑器会跳转到对应源码位置,方便逆向查逻辑
- 右键某帧可选择“重启此帧”,跳回该函数开头重跑(需运行时支持,node.js 和现代 浏览器 基本都支持)
- 异步操作(如 setTimeout、promise.then)会在堆栈中标记为“async”,帮助区分同步 / 异步上下文
基本上就这些。断点控制节奏,监视聚焦数据,调用堆栈理清脉络——三者配合着用,多数逻辑问题都能快速定位。