VSCode远程调试代码用什么配置_VSCode端口映射转发【详解】

秋墨小哥_4122

秋墨小哥_4122

2026-05-29

268人浏览

原创

远程调试必须用 attach 而非 launch,因实际进程运行在远端;需远程启动调试器(如 debugpy/dlv/node --inspect)并监听 0.0.0.0,本地通过 pathmappings 正确映射路径,且确保端口转发与防火墙策略就绪。

vscode远程调试代码用什么配置_vscode端口映射转发【详解】

远程调试必须用 attach,不能写 launch

VSCode 远程调试不是在本地起进程,而是连接远端已运行的调试服务。配置里写 "request": "launch" 会静默失败或断点完全不生效——因为本地根本没执行代码。

正确做法是:远程先手动启动调试器(比如 debugpy、dlv、node --inspect),本地配置只做 attach 连接。

  • Go:远程跑 dlv --headless --listen=:2345 --api-version=2 --accept-multiclient exec ./myapp
  • Python:远程跑 python -m debugpy --listen 0.0.0.0:5678 --wait-for-client myscript.py(注意是 0.0.0.0,不是 127.0.0.1)
  • Node.js:远程跑 node --inspect=0.0.0.0:9229 app.js

验证是否监听成功:远程执行 ss -tuln | grep :端口号,输出中必须含 *:端口 或 0.0.0.0:端口,否则本地连不上。

pathMappings 填反了、少斜杠、用相对路径,断点就全失效

VSCode 本地打开的是 /Users/you/project/main.py,但远程加载的是 /home/ubuntu/app/main.py——路径不映射,VSCode 根本不知道该把断点打到哪行,哪怕文件名一模一样。

pathMappings 是对象,格式为 {"本地绝对路径": "远程绝对路径"},方向不能反,末尾斜杠不能多也不能少,相对路径一律无效。

  • Python 示例:"pathMappings": {"/Users/alex/myproj": "/home/ubuntu/myproj"}
  • Go 示例:"pathMappings": {"/Users/alex/go/src/myapp": "/root/src/myapp"}

检查是否生效:调试启动后,在 VSCode 的 CALL STACK 面板点任意栈帧,看显示的文件路径是不是远程路径;如果不是,说明映射失败。

VSCode
VSCode

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

下载

端口转发失败,90% 是远程服务没监听 0.0.0.0

VSCode 的端口转发(无论是 Remote-SSH 的 Forward a Port,还是 devcontainer 的 forwardPorts)本质是建立 SSH 隧道,流量最终要落到远程服务的监听地址上。

如果远程服务只绑定了 127.0.0.1:3000,那即使 VSCode 转发成功,请求也进不去——因为 127.0.0.1 只接受本机回环访问,而 SSH 隧道过来的流量来源是 localhost(即远程主机自身),但走的是网络栈,不是回环设备。

  • Web 框架要显式指定 host:app.run(host='0.0.0.0', port=3000)(Flask)或 server.listen(3000, '0.0.0.0')(Express)
  • 数据库如 PostgreSQL,确认 postgresql.conf 中 listen_addresses = 'localhost,127.0.0.1' 改成 '0.0.0.0',且 pg_hba.conf 允许本地连接

验证方式:远程执行 curl -v http://0.0.0.0:3000 和 curl -v http://127.0.0.1:3000,两者都应返回正常响应。

devcontainer 自动转发 vs Remote-SSH 手动转发,适用场景不同

devcontainer.json 里的 forwardPorts 是容器启动时自动触发的,适合开发环境固定、端口明确的场景(比如前端 3000、后端 8000、DB 5432)。它通过 VSCode Server 建立反向隧道,左下角状态栏直接显示,点击就能开浏览器。

而 Remote-SSH 的 Forward a Port 是连接后按需添加,适合临时调试、端口不固定、或需要从宿主机其他工具(如 curl、Postman)直连的情况——但它只对当前窗口有效,关掉就断,也不支持宿主机命令行直接访问。

  • 要让 curl http://localhost:3000 在本地终端生效?必须补 runArgs:"runArgs": ["-p", "3000:3000"]
  • 想每次连 SSH 都自动转发?得在 ~/.ssh/config 里加 LocalForward 5432 localhost:5432,且必须重启连接才加载

最容易被忽略的一点:VSCode 的端口转发不解决服务本身的访问控制。比如远程开了防火墙(ufw)、SELinux、或云服务器安全组没放行对应端口,转发也会卡在连接拒绝阶段——先确认 telnet 远程IP 端口 能通,再排查 VSCode 配置。

相关文章

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

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

下载

相关标签:

vscode

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

相关专题

更多
vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

2023.06.30

1215

18

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.21

2472

3

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1849

12

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1707

8

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

2567

12

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1798

14

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1222

10

vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1096

8

vscode设置中文界面不生效解决方法
vscode设置中文界面不生效解决方法

vscode设置中文界面不生效解决方法:安装中文语言包、通过命令面板设置语言、检查 locale.json 设置、重新安装中文语言包、检查 VSCode 版本和更新、排除插件冲突、检查系统语言设置、查看 VSCode 日志和错误消息、重置 VSCode 设置、查看官方文档和社区支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

434

5

热门下载

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

精品课程

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