目录
1. 问题
最近在写RN 的过程中,有些问题还是需要调试的,Windows + VSCode + RN,调试时不时的遇到下述问题:
OS: win32 x64
Adapter node: v10.11.0 x64
vscode-chrome-debug-core: 6.7.46
启动调试器应用辅助进程。
已建立代理(包生成工具)与 React Native 应用程序之间的连接
已从代理(包生成工具)断开到 React Native 应用程序的连接。即将重试重新连接...
******** Unhandled error in debug adapter - Unhandled promise rejection: Error: 无法附加到包生成工具。确定存在包生成工具并且其正在端口 8081 中运行吗? 如果包生成工具被配置为在另一个端口中运行,请确保将该端口添加到 settings.json。 (error code 504)
at Function.getInternalError (c:\Users\XXX\.vscode\extensions\msjsdiag.vscode-react-native-0.11.0\src\common\error\errorHelper.js:10:16)
at MultipleLifetimesAppWorker.start (c:\Users\XXX\.vscode\extensions\msjsdiag.vscode-react-native-0.11.0\src\debugger\appWorker.js:47:65)
at Timeout.setTimeout [as _onTimeout] (c:\Users\XXX\.vscode\extensions\msjsdiag.vscode-react-native-0.11.0\src\debugger\appWorker.js:113:22)
at ontimeout (timers.js:425:11)
at tryOnTimeout (timers.js:289:5)
at listOnTimeout (timers.js:252:5)
at Timer.processTimers (timers.js:212:10)
2. 步骤
Windows 环境下VSCode 调试RN:
1. 手机连接到PC,打开手机开发者模式,PC 上输入以下命令:
adb reverse tcp:8081 tcp:8081
真机调试是需要这步操作的;
摇一摇手机,弹出对话框,找到Dev Settings 选项,点击向下滑动看到Debugging 配置项,点击Debug server host & port for devices 点击输入PC IP 地址和端口号,形式如下:
点击确定(上述IP地址是我自己PC 上的,实际中需要换成自己IP xxx.xxx.xxx.xxx:8081),即可;
2. VSCode 中建立调试配置
如上图所示;
3. 点击运行Attach to packager 配置项
如下所示,可以看到输出标签的启动过程,
此时,点击调试控制台的时候看到如下信息:
OS: win32 x64
Adapter node: v10.11.0 x64
vscode-chrome-debug-core: 6.7.46
启动调试器应用辅助进程。
无法进行调试。无法附加到包生成工具。确定存在包生成工具并且其正在端口 8081 中运行吗? 如果包生成工具被配置为在另一个端口中运行,请确保将该端口添加到 settings.json。 (error code 504)
这个问题搞了好久,不知道是项目工程的问题,还是配置上有遗漏;
3. 解决
3.1 针对手机的操作
1. 使用如下命令:
adb reverse --remove-all
2. 清理所有关联的端口,然后重新进行reverse 操作;
adb reverse tcp:8081 tcp:8081
3. 摇一摇手机,继续Debug JS Remotely 操作;
3.2 针对PC 的操作
1. 重启包生成工具,然后再次选择并启动调试配置,此时显示Connecting to remote debugger ,等待片刻;
如果持续性的出现Conneting to remote debugger 连接提示状态,那就后退页面一下,然后重新进入RN 页面,此时会连接成功;
2. 看到如下所示,表示调试已连接;
OS: win32 x64
Adapter node: v10.11.0 x64
vscode-chrome-debug-core: 6.7.46
启动调试器应用辅助进程。
已建立代理(包生成工具)与 React Native 应用程序之间的连接
调试器辅助进程在端口 28960 上已加载运行时
此时,你应当能够看到,VSCode 底部的蓝条有蓝色变为黄色,如下图所示:
(完)