Cocos2d 调试
来源:互联网 发布:装修设计效果图软件 编辑:程序博客网 时间:2024/06/04 00:47
准备工作
调试代码下载
生成调试配置
这里很多同学出现过一个问题,就是同时下载了很多的lua 调试插件,所以这里需要注意 如果使用luaide进行lua调试,
需要先禁用或卸载其他的lua调试插件.
步骤:
- 如果你没有生成过调试配置 那么先生成
- 如果你已经有调试配置了可修改/删除工作目录下的
.vscode/launch.json
- 根据调试需要选择本地或者远程调试即可
参数说明
参数说明:
launch 本地调试
{ "name": "Cocos2-launch", "type": "lua", "request": "launch", "runtimeType": "Cocos2", "localRoot": "${workspaceRoot}", "mainFile": "scripts/main.lua", "port": 7003, "exePath": "E:\\editor\\quick-2.2.6\\player\\win\\player.exe", "printType": 1}
1. name:命名调试器选择项名字
1. type: 默认配置不需要修改
2. request:默认配置不需要修改
1. runtimeType:默认配置不需要修改
2. localRoot: 等同于 cocos 中的 workdir 用来告诉cocos运行程序,工作目录是哪一个 提供两种方式
1.
2. 如果你拖入的只是工作目录中的一个文件夹 那么通过/.. 对于的层级进行设置
2. 填写绝度路径(不推荐)
1.
1. mainFile:启动的lua 文件 该配置和 localRoot 配合使用 以localRoot为根目录 进行相对路径填写
1. 例1: 启动文件在 localRoot 的 src
目录名字为 main.lua
–> src/main.lua
2. 例2: 启动文件在 localRoot 的 scripts
目录下文件名为 game.lua
–> scripts/game.lua
2. port: 调试端口 和 调试代码中的端口统一即可 无特殊需求
3. exePath:执行的exe文件路径 例如:E:/cocos/player/player.exe
3. printType: print打印方式
1. 控制台和系统输出
2. 控制台输出
3. 系统输出
attach 远程调试
{ "name": "COCOS(remote debugging)", "type": "lua", "request": "attach", "runtimeType": "Cocos2", "localRoot": "${workspaceRoot}", "port": 7003, "printType": 1},
1. name:命名调试器选择项名字 同上
1. type: 默认配置不需要修改
2. request:默认配置不需要修改
1. runtimeType:默认配置不需要修改
2. localRoot: 与本地调试不同,远程调试 localRoot 当做scriptMap 一般情况下默认为
2. port: 调试端口 和 调试代码中的端口统一即可 无特殊需求
3. printType: print打印方式
1. 控制台和系统输出
2. 控制台输出
3. 系统输出
调试代码添加
说明:
下载对应的LuaDebug 或 LuaDebugjit 后放入脚本目录中
local breakSocketHandle,debugXpCall = require("LuaDebugjit")("192.168.1.102",7003) local breakSocketHandle,debugXpCall = require("LuaDebugjit")("localhost",7003) 1. IP地址当本机调试时可使用localhost远程调试或移动设备端调试是需要输入调试器所在机器具体的ip 2. port 端口 LuaIde 默认配置中端口为7003 如有需要可执行更改确保调试器配置端口和调用代码的端口统一即可 3. breakSocketHandle luaIde断点及时刷新函数,需要在定时器中调用 该函数确保断点能够及时的发送到lua 客户端 4. debugXpCall 程序异常监听函数,用于当程序出现异常时调试器定位错误代码
cocos2.x
local breakSocketHandle,debugXpCall = require("LuaDebug")("localhost",7003)CCDirector:sharedDirector():getScheduler():scheduleScriptFunc(breakSocketHandle ,0.3,false)--如果已经存在 __G__TRACKBACK__ 请将 debugXpCall 直接加入 __G__TRACKBACK__ 即可--__G__TRACKBACK__ 方法不是必须 debugXpCall是实现的是在lua 脚本调用错误时进行代码错误定位function __G__TRACKBACK__(errorMessage) debugXpCall();endlocal status, msg = xpcall(main, __G__TRACKBACK__)
示例文件:cocos2x_main.lua
cocos3.x
local breakSocketHandle,debugXpCall = require("LuaDebug")("localhost",7003)cc.Director:getInstance():getScheduler():scheduleScriptFunc(breakSocketHandle, 0.3, false) --如果已经存在 __G__TRACKBACK__ 请将 debugXpCall 直接加入 __G__TRACKBACK__ 即可--__G__TRACKBACK__ 方法不是必须 debugXpCall是实现的是在lua 脚本调用错误时进行代码错误定位 function __G__TRACKBACK__(errorMessage) debugXpCall(); end local status, msg = xpcall(main, __G__TRACKBACK__)
示例文件:cocos3x_main.lua
- Cocos2d 调试
- cocos2d-x android 调试
- 安卓调试 cocos2d
- Cocos2d-x VS2012 HelloCpp调试
- cocos2d-x中的lua调试
- cocos2d-x ndk无法调试
- COCOS2D-X VS2012 HELLOCPP调试
- COCOS2D屏幕的调试信息
- Cocos2d-x+BabeLua 断点调试
- 如何调试Cocos2d-JS和Cocos2d-Lua工程
- 如何调试Cocos2d-JS和Cocos2d-Lua工程
- 在cocos2d-x中调试lua
- Cocos2d-x-html5分析与调试
- cocos2d-x 中如何打印调试信息
- quick-cocos2d-x真机调试
- Eclipse编译调试Cocos2d问题汇总
- Cocos2d-JS极速调试技巧
- Xcode7 真机免证书调试Cocos2D游戏
- Java之日期工具类-yellowcong
- LuaIde 免费版本
- Java之文件工具类-yellowcong
- 调试视频教程
- Java之文件下载工具类-yellowcong
- Cocos2d 调试
- 如何编写复用性、可读性和可维护性的代码
- 调试代码下载
- Ulua&ToLua 调试
- Handler解析(一):是如何实现线程之间的切换
- Java之请求发送工具类(HttpClientUtils,爬虫)-yellowcong
- 程序从片内地址0开始,但为什么链接地址又设0x30000000,那不就从0x30000000开始了,反汇编可以看到不是从0开始的
- Java之请求发送工具类(HttpRequestUtils,百度站长)-yellowcong
- (es5)JavaScript 知识梳理 (1)