如何在VSCode中打断点调试代码

夜枫酱_1572

夜枫酱_1572

2026-03-26

1110人浏览

原创

断点不生效需先启动调试会话,检查VSCode中断点是否实心;Python需配置正确解释器路径和module模式;Node.js注意sourceMap与ESM兼容性;前端调试须禁用压缩并确保debugger上下文有效。

如何在vscode中打断点调试代码

断点不生效:检查调试器是否已正确启动

VSCode 里点左侧行号打的红点,只是“设置断点”,不是“开始调试”。没启动调试会话时,断点是空心的,代码照常跑完,根本不会停。

  • 确认已按下 Ctrl+Shift+D(Windows/Linux)或 Cmd+Shift+D(macOS)打开调试视图
  • 在调试侧边栏顶部选择正确的环境配置(比如 Python: Current File、Node.js: Launch Program),再点绿色三角形 ▶️ 启动
  • 如果配置项为空或显示 No Configurations,说明还没生成 .vscode/launch.json —— 点齿轮图标自动生成,别跳过这步

Python 断点失效:注意解释器路径和 launch.json 的 module 写法

用 python -m http.server 或 pip install -e . 安装的包里调试,直接 F5 运行脚本文件往往断不住。因为 VSCode 默认按“运行脚本”模式启动,而实际入口是模块导入路径。

  • 在 launch.json 中优先用 "module": "your_package.main" 而非 "program": "./src/main.py"
  • 确保 python.defaultInterpreterPath 指向你项目真正使用的 Python 解释器(比如 venv 里的 ./venv/bin/python),而不是系统全局 Python
  • 如果用了 PyTorch/TensorFlow 等多进程训练,主进程能断住,但子进程(num_workers > 0)默认不继承调试上下文 —— 此时得加 "subProcess": true 到 launch 配置中

Node.js 调试时 require() 报错或断点跳过:检查源码映射与 CommonJS/ESM 混用

TS 编译后生成 .js 和 .js.map,但 VSCode 如果找不到 map 文件,或加载了 ESM 模块却用 CommonJS 方式 require,断点就会偏移甚至失效。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
  • TS 项目务必在 tsconfig.json 中开启 "sourceMap": true 和 "inlineSourceMap": false(推荐生成独立 .map 文件)
  • Node.js v14+ 默认不支持 import 加载本地 TS 文件;若用 ESM,launch.json 中需加 "runtimeArgs": ["--loader", "ts-node/esm"] 并装好 ts-node
  • 检查终端里启动命令是否带 --inspect —— VSCode 调试器依赖这个 flag 建立 WebSocket 连接,手动 node --inspect app.js 启动时也得配好 attach 模式

Chrome 调试前端代码:断点在压缩 JS 里乱跳,或 debugger 不触发

Webpack/Vite 打包后代码被混淆压缩,VSCode 读不到原始行号;而 debugger 语句是否生效,取决于当前执行上下文是否处于调试器接管范围内。

  • 开发环境务必关闭 minify,Vite 中设 build.minify = false,Webpack 中关掉 TerserPlugin
  • debugger 只在 DevTools 打开且未禁用断点时才起作用;如果页面是 iframe 加载或跨域资源,需在 launch.json 中启用 "webRoot" 并指向真实服务根目录
  • React/Vue 等框架的 HMR 热更新会重载模块,导致已设断点丢失 —— 建议在 useEffect 或 mounted 里动态加 debugger,比靠左侧行号更可靠

最常被忽略的是:断点位置本身是否可达。比如异步回调里打了断点,但 Promise 被 catch 吞掉错误、或函数根本没被调用,红点再红也没用。先确认逻辑流真走到那里,再谈怎么断。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

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

2023.08.07

2235

5

json是什么
json是什么

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

2023.08.23

3582

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1196

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

4119

7

chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2866

5

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.06

5799

7

Chrome开启无痕模式
Chrome开启无痕模式

本专题整合了Chrome无痕模式开启相关内容,阅读专题下面的文章了解更多详细教程。

2026.03.24

4127

22

pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

2023.10.09

3330

5

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

2024.12.20

7603

6

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程