VSCode 不直接连接手机调试,仅通过桥接协议映射源码、同步断点;真正在手机上执行和暂停的是 Chrome DevTools 或 Safari Web Inspector。

VSCode 本身不直接连接手机调试,所有“联动”都是靠桥接协议实现的 —— 它只管映射源码、同步断点,真正在手机上执行和暂停的是 Chrome DevTools、Safari Web Inspector 或目标运行时(如 Flutter、React Native 的调试器)。
Android 真机 WebView / H5 页面怎么从 VSCode 断点?
关键不是 VSCode 连手机,而是让桌面 Chrome 把手机的调试上下文暴露出来,再让 VSCode 读取 source map 并对齐位置。
- 手机必须开启「开发者选项」+「USB 调试」,国产机(小米/华为/OPPO)额外检查「USB 调试(安全设置)」是否打开,MIUI 还要关「MIUI 优化」
- USB 连电脑后,在桌面 Chrome 访问
chrome://inspect/#devices,确认设备名和页面列表出现;如果空白,先运行adb devices看是否显示device状态 - VSCode 装
Debugger for Chrome插件,launch.json配置type: "pwa-chrome"+url,仅用于自动打开页面并同步断点位置 —— 断点实际生效在 Chrome DevTools 的 Sources 面板里 - 常见失败原因:
webRoot指向错误(比如该填"${workspaceFolder}/src"却写了"./dist"),或构建没生成sourceMap(Webpack/Vite 需开devtool: "source-map")
iOS 真机网页调试为什么 VSCode 不能一键启动?
Safari Web Inspector 是 iOS 网页调试的唯一合法入口,VSCode 没有接入 WebInspector RPC 协议的能力,插件也做不到绕过它。
- Mac 上 Safari 必须开启「开发」菜单(Safari → 设置 → 高级 → 勾选「在菜单栏中显示“开发”菜单」)
- iOS 设备设置 → Safari → 高级 → 开启「Web 检查器」,再用数据线连接 Mac
- Mac Safari 「开发」菜单下会出现设备名和页面列表,点击才能打开 Web Inspector —— 这一步无法跳过,也无法由 VSCode 触发
- 想让 VSCode 显示对应源码?手动在 Safari Inspector 的 Sources → Page 里右键「Add folder to workspace」加载本地目录,但行号错位很常见,尤其用了构建工具压缩或转译后
Flutter / React Native 真机调试,F5 和 ▶️ 按钮区别在哪?
F5 启动的是完整调试会话(attach 到 Dart VM / Metro),绿色 ▶️ 按钮只是执行 flutter run 或 react-native run-android,不挂调试器。
- 必须手动点 VSCode 底部状态栏设备名(如
SM-G998U),哪怕只连一台 —— 不选设备,F5 就静音 -
launch.json里别写死deviceId,填错会导致Failed to launch browser这类误导性报错(实际跟浏览器无关) - 热重载失效?确认左下角显示「Debug」且设备旁有虫子图标;如果 F5 后立刻退出,可能是旧版 Dart Code 插件冲突,卸载重装 Flutter 扩展
- 无线调试 Android:先 USB 连上,跑
adb tcpip 5555,再adb connect 192.168.x.x,拔线后npx react-native run-android仍可用
Unity C# 脚本真机调试为什么常连不上?
Unity 在 Android 设备上默认监听 127.0.0.1:56000,这个地址外部不可达,所以直接填设备 IP 很大概率失败。
- 优先用
adb forward转发端口:adb forward tcp:56000 tcp:56000,然后launch.json里endPoint写"localhost:56000" - 查 Unity 实际监听端口:连上后跑
adb logcat | grep -i "Listening for debugger",注意看是绑定在127.0.0.1还是设备局域网 IP - IL2CPP 后端不支持托管代码调试,必须用 Mono;Build Settings 里务必勾选「Development Build」和「Script Debugging」
- VSCode 装
Debugger for Unity(vstuc),配置type: "vstuc",别用通用 Node 调试器
真正容易被忽略的点是:所有移动端调试链路里,VSCode 都不参与设备发现、进程 attach 或指令下发 —— 它只是个带断点 UI 的源码查看器。问题出在哪儿,就得回到对应工具查:Chrome DevTools 里看不到页面?看 chrome://inspect;Safari 没设备名?回 iOS 设置关再开 Web 检查器;Flutter F5 没反应?先敲 adb devices 和 flutter devices 确认底层通不通。


















