VS Code的多目标调试:同时调试微服务

P粉986688829

P粉986688829

2025-12-03

352人浏览

原创

vs code通过配置launch.json中的compounds实现多目标调试,将多个微服务的独立调试配置组合启动,统一管理前端、网关和后端服务,提升全链路调试效率。

vs code的多目标调试:同时调试微服务

VS Code 支持通过 multi-target debugging(多目标调试) 同时调试多个微服务进程,比如一个前端、一个 API 网关、若干后端服务。关键在于合理配置 launch.json 中的 configurations,并利用 compounds 将它们组合启动。

配置多个独立的调试配置

每个微服务对应一个独立的 configuration,需明确指定:

  • name:唯一标识名(如 "backend-auth""frontend-react"
  • type:调试器类型("node""pwa-node""go""python" 等)
  • request:通常为 "launch""attach"(本地开发常用 "launch"
  • program / file / args:启动命令和参数(例如 "${workspaceFolder}/auth/src/index.js"
  • port:Node.js 等需调试端口,确保不冲突(如 9229、9230、9231)
  • env:可设环境变量(如 "NODE_ENV": "development"

用 compounds 组合启动多个服务

launch.jsoncompounds 数组中定义一个组合项,引用上面配置好的多个 name

"compounds": [
  {
    "name": "Debug Microservices",
    "configurations": ["backend-auth", "backend-user", "api-gateway"]
  }
]

保存后,调试面板顶部下拉菜单里就会出现 Debug Microservices,点击 ▶ 即可一键启动全部服务,并自动附加调试器。

Go语言(Golang)1.26.0
Go语言(Golang)1.26.0

Go语言(Golang)1.26.0版本提供 Go 官方 Windows amd64 MSI 安装包下载入口,版本号 1.26.0,可用于旧项目维护、兼容性测试和指定版本开发环境配置。

下载

调试体验优化技巧

多服务调试时容易混乱,建议:

  • 统一日志前缀:各服务输出日志时加上服务名(如 [auth]),便于终端区分
  • 启用“Auto Attach”:对 Node.js 项目,在设置中开启 debug.node.autoAttach,避免手动 attach
  • 分离终端标签页:在 launch.json 中加 "console": "integratedTerminal" 并配合 "terminal": "new"(部分调试器支持),让每个服务独占终端
  • 设置依赖启动顺序:若某服务必须等另一服务就绪才能启动,可用 preLaunchTask 或脚本封装(如用 concurrently 启动 + wait-on 检查健康端点)

常见问题注意

实际使用中容易踩坑的地方:

  • 端口冲突:多个 Node.js 服务不能共用同一个 port(调试端口),需显式错开
  • 路径错误program 路径建议用 ${workspaceFolder} 变量,避免硬编码
  • 断点不命中:确认源码映射(source map)已生成且 outFilesresolveSourceMapLocations 配置正确
  • 调试器不识别:确保已安装对应扩展(如 “Debugger for Chrome”、“Go”、“Python”)

基本上就这些。配置一次,后续点一下就能全链路调试,省去反复切换终端和手动 attach 的麻烦。

相关文章

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

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

下载

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

相关专题

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

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

2023.08.07

1529

5

json是什么
json是什么

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

2023.08.23

1376

1

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

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

2023.10.13

584

3

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

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

2025.09.10

1264

7

chrome什么意思
chrome什么意思

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

2023.08.11

1969

5

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

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

2023.11.06

2339

7

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

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

2026.03.24

2047

22

golang map内存释放
golang map内存释放

本专题整合了golang map内存相关教程,阅读专题下面的文章了解更多相关内容。

2025.09.05

130

5

golang map相关教程
golang map相关教程

本专题整合了golang map相关教程,阅读专题下面的文章了解更多详细内容。

2025.11.16

223

7

热门下载

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

精品课程

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

共0课时 | 0人学习

Fitten Code官方手册
Fitten Code官方手册

共0课时 | 0人学习

3分钟内将Xdebug安装到PHP
3分钟内将Xdebug安装到PHP

共1课时 | 100人学习