vscode怎么调试:launch配置与断点实操
vscode怎么调试,核心流程是安装对应语言扩展、创建launch.json调试配置文件、设置断点、启动调试会话,你可以选择F5快速启动调试,也可以用侧边栏调试面板运行;该方式适合本地单文件、简单项目调试,容器远程调试、微服务多进程联动调试不适合这套基础流程,这类场景需要额外配置attach附加模式与端口转发规则。
vscode调试基础配置
打开目标代码文件夹,按下Ctrl+Shift+D调出调试面板,点击创建launch.json,在弹出的环境列表里选择你当前使用的编程语言,编辑器会自动生成一份基础配置模板。模板里program字段填写程序入口文件路径,args数组用来传入运行参数,cwd配置程序运行的工作目录,避免相对路径读取文件时报错。自动生成的配置大多可以直接使用,仅入口文件路径、入参两项需要根据项目修改,路径推荐使用相对路径,项目迁移后改动量更少。
断点是调试的核心标记,点击代码行号左侧空白处就能添加断点,红点标记生效;再次点击红点可以移除断点,右键断点可以设置条件断点,只有表达式结果为true时程序才会暂停。日志断点不会中断程序执行,只会在调试控制台输出自定义信息,适合不打断流程、批量查看变量变化的场景。
vscode调试运行控制
调试启动后,顶部会出现调试控制栏,包含继续、单步跳过、单步进入、单步跳出、重启、停止六个按钮。单步跳过执行当前行,不会进入函数内部;单步进入会跟进调用的自定义函数,不会进入内置库源码;单步跳出直接跑完当前函数,回到函数调用位置。调试控制台可以直接输入变量名查看实时值,也可以执行简单表达式,监视面板用来固定追踪多个变量,不用反复手动查询。
环境扩展决定调试器是否可用。
Python调试需要安装Python扩展,内置debugpy调试器;JavaScript、TypeScript调试依靠内置Node调试支持,Java需要安装ExtensionPackforJava,C/C++要安装C/C++扩展并提前配置好编译器路径。缺少对应扩展时,launch.json不会生成对应环境模板,按下F5会提示找不到调试适配器,这是高频出现的配置问题。
vscode调试两种模式对比
| 调试模式 | 启动方式 | 适用场景 | 配置难度 |
|---|---|---|---|
| launch启动模式 | vscode直接拉起程序进程 | 本地独立脚本、主程序入口调试 | 较低 |
| attach附加模式 | 挂载到已经运行的进程 | 后台服务、远程进程、容器内程序 | 偏高 |
launch模式上手门槛更低,新手优先选用;attach模式需要先手动启动程序并开启调试端口,再在配置里指定进程id或者端口号,进程重启之后配置里的进程标识会失效,每次调试需要重新确认。
调试时遇到断点不命中,优先排查三处内容:确认文件路径和launch.json里program路径一致,确认代码没有被编译缓存覆盖,确认没有开启代码压缩、转译导致源码映射丢失。以JavaScript项目为例,ts编译后的js文件和源码位置不一致,缺少sourceMap配置,断点就会偏移或者无法触发。
调试完成之后,按下Shift+F5停止调试会话,所有断点标记会保留,下次F5启动可以继续使用;你也可以在调试面板的断点管理列表里批量禁用全部断点,不用逐个删除红点,方便在调试和正常运行之间快速切换。
