如何调试代码在vscode中设置断点【教程】

风涛吖_4679

风涛吖_4679

2026-01-21

319人浏览

原创

VS Code断点不触发、变量不可见或调试器未连接,根源在于语言扩展、launch.json配置及运行环境未对齐。需确认调试器启动、F5而非Ctrl+F5运行、正确设置program/cwd/env字段,并确保开发模式启用sourceMap、禁用代码优化。

如何调试代码在vscode中设置断点【教程】

VS Code 中设断点本身很简单,但真正卡住你的往往不是“怎么点”,而是断点不触发、变量看不到、或者调试器根本没连上——这些问题和你用的语言、运行方式、launch.json 配置强相关。

断点点了没反应?先确认调试器是否已正确启动

VS Code 本身不执行代码,它依赖语言对应的调试扩展(比如 Python 扩展内置 debugpy,Node.js 用 node 自带调试协议)。如果点了断点却直接跑完、控制台没进调试模式:

  • 检查左下角状态栏是否显示「运行和调试」图标已激活,且当前调试配置(launch.json)选中的是你正在编辑的文件对应环境
  • 确保你不是直接按 Ctrl+F5(跳过断点),而是按 F5 启动调试会话
  • Python 用户注意:python.pythonPath 已弃用,新版必须在 launch.json 的 python 字段指定解释器路径,或通过命令面板选择解释器(Python: Select Interpreter)
  • Node.js 用户若用 npm start 启动,需改用 node --inspect-brk 模式,否则断点在入口前就失效

为什么变量值显示为 undefined 或 not available?

这通常不是断点问题,而是作用域或优化导致的调试信息缺失:

Python Dependency Candidate Fetcher 2
Python Dependency Candidate Fetcher 2

根据包的能力以及 Jupyter 环境中的导入语句,从候选列表中挑选最适合用户表格工作流的 Python 包。

下载
  • JavaScript/TypeScript:启用 "sourceMap": true 且生成了 .map 文件;若用了 webpack 或 vite,确保开发模式下未开启 devtool: "hidden-source-map"
  • Python:局部变量在 if 块内定义但未执行到该分支时,调试器不会提前渲染;函数参数名若被 exec() 或动态赋值覆盖,也可能丢失符号信息
  • 所有语言:发布构建(minify、tree-shaking、-O2 编译选项)会移除调试符号,务必在开发配置下调试

launch.json 里最常配错的三个字段

这个配置文件是断点能否生效的中枢,写错一个字段就白点半天:

  • "program":必须是可执行入口的绝对路径或相对于 workspaceFolder 的路径,不能是模块名(如 "program": "app.py" ✅,"program": "python app.py" ❌)
  • "cwd":当前工作目录影响相对路径导入(比如 Python 的 import utils),不设或设错会导致模块找不到,调试器静默退出
  • "env" 和 "envFile":环境变量冲突很常见,比如 DJANGO_SETTINGS_MODULE 没传进去,Django 项目直接报 ImproperlyConfigured 而不提示你断点在哪

断点逻辑本身极简单,难的是让整个调试链路对齐:编辑器 → 扩展 → 运行时 → 源码映射。很多人反复重启 VS Code,其实只需要打开命令面板运行一次 Developer: Toggle Developer Tools,看 Console 里有没有 Cannot connect to runtime 或 Source map warning 这类线索。

相关专题

更多
TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

2026.02.13

312

17

TypeScript全栈项目架构与接口规范设计
TypeScript全栈项目架构与接口规范设计

本专题面向全栈开发者,系统讲解基于 TypeScript 构建前后端统一技术栈的工程化实践。内容涵盖项目分层设计、接口协议规范、类型共享机制、错误码体系设计、接口自动化生成与文档维护方案。通过完整项目示例,帮助开发者构建结构清晰、类型安全、易维护的现代全栈应用架构。

2026.02.25

540

17

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

2026.03.13

391

19

TypeScript 全栈开发进阶指南
TypeScript 全栈开发进阶指南

面向有 JavaScript 基础的开发者,深入讲解 TypeScript 的类型系统与全栈开发实践。

2026.06.03

306

29

TypeScript Node.js 全栈工程化与Monorepo架构实践
TypeScript Node.js 全栈工程化与Monorepo架构实践

本专题围绕 TypeScript 在 Node.js 全栈开发中的工程化实践展开,系统讲解 Monorepo 架构设计、包管理策略、模块复用机制以及服务端与前端统一类型系统的构建方法。通过真实项目案例,帮助开发者提升大型全栈项目的可维护性与协作效率。

2026.06.16

698

8

Python Web 框架 Django 深度开发
Python Web 框架 Django 深度开发

本专题系统讲解 Python Django 框架的核心功能与进阶开发技巧,包括 Django 项目结构、数据库模型与迁移、视图与模板渲染、表单与认证管理、RESTful API 开发、Django 中间件与缓存优化、部署与性能调优。通过实战案例,帮助学习者掌握 使用 Django 快速构建功能全面的 Web 应用与全栈开发能力。

2026.02.04

573

30

Python Django REST Framework接口安全与认证体系实践
Python Django REST Framework接口安全与认证体系实践

本专题围绕 Django REST Framework 展开,深入讲解 API 认证、JWT 鉴权、权限控制、接口安全防护以及防攻击策略设计。通过完整后端案例,帮助开发者构建安全可靠的 Web API 服务体系。

2026.06.29

260

15

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2235

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3582

1

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WebStorm 官方调试文档
WebStorm 官方调试文档

共0课时 | 0人学习

React 教程
React 教程

共58课时 | 12.4万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 6.8万人学习