原生平台调试
目前使用 Cocos Creator 进行游戏开发时,游戏脚本以 JavaScript 形式编写,运行在原生平台时需要经过 JSB 绑定,然后通过原生 C++ 引擎代码运行,由于运行平台不同,可能会出现和 Web 浏览器运行效果不同的地方和错误。我们可以借助 VS Code 的调试功能来调试我们的 JSB 游戏程序。
安装 Cocos-Debug VS Code 插件
Cocos Debug VS Code 插件,将解压后的 cocos-debug 文件夹拷贝到用户文件夹的 .vscode/extensions 路径下,然后启动 VS Code。
Debug,然后可以点击上面的齿轮选择 Cocos-JSB 调试方案。
插件安装指南文档。
模拟器调试
模拟器(调试) 作为预览平台,然后点击编辑器中的 运行预览 按钮在模拟器中运行游戏。 然后找到模拟器中的项目资源路径,这个路径会在 Cocos Creator 安装路径中,根据操作系统的不同,路径有一些区别:
CocosCreator/resources/cocos2d-x/simulator/win32CocosCreator.app/Contents/Resources/cocos2d-x/simulator/mac/Simulator.app/Contents/Resources在 Mac 平台由于 VS Code 无法通过浏览选择应用程序包(.app)之内的路径,可能需要先打开 VS Code,关闭所有已开启的文件夹,然后将 Finder 里的上述路径拖拽到 VS Code 中。src/project.dev.js文件中设置断点并进行调试了。先设置好断点,然后确保模拟器已经在运行的情况下,VS Code 中切换到 Debug 页面,在下拉菜单选中Cocos-Debug,然后点击绿色三角按钮开启调试进程。 现在可以进行正常的 JSB 程序调试了。 VS Code 调试指南文档。Windows socket 链接错误解决方法
在 Windows 上启动调试器时可能会链接失败并提示:ar: attachRequest: retry socket.connectlaunch.json配置文件中修改address字段为:"address": "::1"原因是在 Windows 上部分链接会默认使用 IPv6,因此我们需要填写 IPv6 格式的本地默认 ip 地址。原生工程调试
构建发布出原生工程以后,对包括 iOS、Android、Windows、Mac 等原生平台都可以进行调试。首先要用 VS Code 打开构建发布出的原生工程,一般在myProject/build/myProject/jsb-default或myProject/build/myProject/jsb-binary,根据构建工程时选择的引擎模板而定。jsb-default/src/project.dev.js中设置断点和调试。下面是移动设备调试时的注意事项。iOS 调试
要调试 iOS 设备:launch.json文件,将address字段改为您 iOS 设备的 IP 地址Android 调试
要调试 Android 设备:- 构建发布 面板,在构建和编译完成后点击运行)
adb forward tcp:5086 tcp:5086使用限制
VS Code 只能挂载到运行中的 cocos2d-x JSB 程序,才能开始调试,因此目前不能在启动时就停在断点处。以后我们会改善这一点,目前可以在游戏中手动设置启动按钮来回避这个问题。
