讲师中心 微信公众号
AI工具推荐 视频效率加速

vscode怎么一步一步的调试

冬涛酱_3086

冬涛酱_3086

发布时间:2026-03-08 15:14:02

|

310人浏览过

|

来源于php中文网

原创

在 VS Code 中启动调试需配置 launch.json 并确保程序路径正确、sourceMaps 开启(JS/TS)、避免绝对路径错误;断点失效多因 sourcemap 未加载或入口未执行;调试前应手动验证命令可运行,F5 仅重启会话而非自动重编译。

vscode怎么一步一步的调试

怎么在 VS Code 里启动调试

VS Code 调试不是点一下就跑起来的,它依赖两个关键东西:一个可执行的程序(比如 node、python、go),和一份配置好的 launch.json。没配好这个文件,点 ▶️ 按钮只会弹出“找不到 launch.json”提示。

实操建议:

VSCode
VSCode

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

下载
  • 打开项目根目录,按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Debug: Open launch.json,选对应环境(如 Node.js 或 Python)自动生成模板
  • 确认 configurations 里的 program(或 module、file)路径是相对当前工作区的,且文件真实存在——常见错误是写成绝对路径或拼错文件名,比如把 index.js 写成 inde.js
  • 如果用的是 TypeScript,program 必须指向编译后的 .js 文件,不能直接写 src/index.ts(除非你配了 preLaunchTask 自动构建)

断点不生效?检查这三件事

断点变空心圆、点击无反应、F5 运行后直接跑完没停——大概率不是 VS Code 坏了,而是运行时没加载 sourcemap 或没进调试入口。

常见错误现象:

  • TS/JS 项目里断点打在 .ts 文件上,但 launch.json 的 program 指向的是 dist/index.js,且没配 sourceMaps: true
  • Python 脚本用了 if __name__ == "__main__":,但 launch.json 的 module 设成了 my_package,结果根本没执行到 main 块
  • Node.js 启动命令里加了 --inspect,但 VS Code 的 attach 配置没对上端口(默认 9229),或进程已退出

实操建议:

  • JS/TS 项目务必在 launch.json 中加上 "sourceMaps": true 和 "outFiles": ["${workspaceFolder}/dist/**/*.js"]
  • Python 项目优先用 file 方式而非 module,避免路径解析歧义;如果必须用 module,确认包已安装为 editable 模式(pip install -e .)
  • 启动调试前,在终端手动跑一次命令,看是否真能执行到你想断的位置(比如加个 console.log('here'))

调试控制台 vs 终端输出混了怎么办

你在调试控制台(Debug Console)里 console.log 出来的东西,和终端(Terminal)里跑脚本的输出,是两套流。尤其 Node.js 项目里,如果你用 child_process.spawn 或 exec 启了子进程,它的 stdout 默认不会进 Debug Console。

使用场景:

  • 想在调试中实时看 HTTP 请求日志 → 改用 debug 包并设置 DEBUG=app:* 环境变量,在 launch.json 的 env 字段里加进去
  • Python 里用了 logging,但没输出 → 检查 level 是否设得太高(比如 WARNING),调试时临时改成 DEBUG
  • 看到一堆 [Extension Host] 日志刷屏 → 这是 VS Code 自身扩展日志,关掉「调试」侧边栏里的「Show Log Messages」开关即可

为什么改了代码,F5 重启后还是旧逻辑

这不是缓存问题,而是 VS Code 默认不会自动重编译或热更新——它只是把当前配置下的程序拉起来跑一遍。你改了源码,但生成物(dist/、__pycache__/)没更新,自然还是跑的老版本。

实操建议:

  • JS/TS 项目:在 launch.json 加 "preLaunchTask": "tsc: build - tsconfig.json",并确保 tasks.json 里定义了该任务
  • Python 项目一般不用编译,但如果用了 Cython 或打包工具(如 PyInstaller),就得手动清理输出再调试
  • 任何语言都适用的兜底办法:在 launch.json 的 env 里加 "NODE_OPTIONS": "--enable-source-maps"(Node)或 "PYTHONPATH"(Python),避免路径错乱导致加载了旧模块

最常被忽略的一点:很多人以为 F5 是“重新运行”,其实它只是“重启当前调试会话”。如果进程卡死没退出干净,新会话可能复用旧状态。遇到奇怪行为,先关掉所有调试会话,再点 ▶️。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

讯飞智文

一款面向学习和办公场景的AI文档创作工具,可辅助生成PPT与Word文档,提高资料整理和内容制作效率。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

相关专题

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

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

332

2026.02.13

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

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

540

2026.02.25

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

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

391

2026.03.13

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

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

306

2026.06.03

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

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

718

2026.06.16

json数据格式
json数据格式

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

2275

2023.08.07

json是什么
json是什么

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

3662

2023.08.23

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

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

1216

2023.10.13

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

20

2026.11.05

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn