vscode运行代码怎么设置断点 vscode零基础调试代码教程

断点本身不运行代码,VSCode 里点一下行号左边的红点只是“标记位置”,真正让程序停在那里,必须启动调试会话(按 F5 或点调试图标 ▶️),否则代码照常执行、断点完全无效。

断点没反应?先确认是不是在“调试”而不是“运行”

这是新手最常卡住的地方:点了右上角绿色三角(Run Code)或终端里敲 node index.js,断点永远不会触发——因为那只是普通执行,没走调试协议。

必须打开“运行和调试”侧边栏(Ctrl+Shift+D / Cmd+Shift+D),选中一个配置,再点 ▶️ 启动如果配置列表为空,点齿轮图标生成 .vscode/launch.json,别跳过这步断点启用状态看颜色:实心红点 ✅ 表示已激活;空心红点 ❌ 表示没加载进当前调试会话

launch.json 里这三个字段写错,90% 断点不生效

VSCode 不执行代码,它靠 launch.json 告诉底层调试器(如 debugpy、js-debug)怎么跑。配错就等于“发错指令”。

type:大小写敏感,"python" 不能写成 "Python";浏览器调试用 "pwa-chrome",不是 "chrome"program(Python)或 file(Node.js):路径必须对。推荐用 "${workspaceFolder}/src/main.py",别写 ./main.py(相对路径依赖 cwd)cwd:影响 import 和文件读写。Python 报 ModuleNotFoundError,八成是这里设错了目录

JavaScript/TypeScript 断点偏移或消失?盯紧 sourceMaps

你打在 index.ts 第 12 行,结果停在编译后的 index.js 第 3 行甚至跳过——这不是 VSCode 故障,是源码映射没对齐。

TypeScript 项目:确保 tsconfig.json 里 "sourceMap": true,且没开 "inlineSourceMap": true(VSCode 更认独立 .map 文件)Webpack/Vite:构建时加 devtool: ‘source-map’ 或 build.sourcemap: true,并确认 .js.map 文件真生成了、跟 .js 同目录Node.js 调试:在 launch.json 里显式加 "sourceMaps": true,否则默认可能不启用

条件断点不是“高级功能”,而是避免手动点十次 F5 的刚需

循环里只想看第 5 次迭代?对象属性为特定值才停?硬等太耗时间,直接上条件断点。

右键行号左侧 → Add Conditional Breakpoint… → 输入 i === 5 或 user.role === "admin"支持完整表达式,但注意作用域:不能访问尚未声明的变量,也不能跨函数调用链引用局部变量想长期保留调试逻辑?在代码末尾加注释:console.log(data); // DEBUGGER: data.length > 10,VSCode 会自动识别

真正难的从来不是“怎么打点”,而是理解断点背后依赖的整个链路:调试器插件是否装对、launch.json 是否匹配实际运行方式、源码和运行时是否通过 sourceMaps 对齐——漏掉任意一环,红点就只是个装饰。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。