使用 ZeroBrane Studio 和 Eclipse LDT 断点调试 quick-cocos2d-x
quick-cocos2d-x 是个基于 cocos2d-x 的 Lua Binding 加强版。本文介绍在quick-cocos2d-x中进行断点调试的方法。
为了便于阅读和减少废话,本文有如下假设:
- 读者阅读过 quick-x-player 使用说明 和 初窥 Quick-cocos2d-x ;
- 读者了解 quick-cocos2d-x 项目的文件夹结构;
- 读者安装了 ZeroBrane Studio 0.39 或/和 Eclipse LDT 1.0;
- 本文基于 quick-cocos2d-x 提供的 coinflip sample 进行调试。
提纲如下:
- 在 ZeroBrane Studio 中进行断点调试
- 在 Eclipse LDT 中进行断点调试
一、 在ZeroBrane Studio中进行断点调试
ZeroBrane Studio是一个用Lua写成的跨平台Lua IDE。界面使用 wxLua 实现。
1. 调试模块
ZeroBrane Studio 使用 modbdebug 模块(位于 [ZeroBrane]/lualibs/mobdebug/mobdebug.lua) 实现调试支持。为了让项目找到这个模块,我采用最简单的方法,将该模块复制进入 coinflip 的 scripts 文件夹。
若不希望这样粗暴,可采用另外两种方法,参考: Remote debugging
2. require mobdebug
在 coinflip/scripts/main.lua 的第一行加入下面的代码,让项目启动调试支持。
1 |
require("mobdebug").start() |
3. 启动调试服务器
在 ZeroBrane Studio 中选择 Project->Start Debugger Server
命令。如果该命令是灰色的,说明调试服务器已经启动了。
4. 加断点
编辑 game.lua 文件,在32行 game.enterChooseLevelScene()
处选择 Project -> Toggle BreakPoint
加入断点。
5. 启动 quick-player
在 quick-player 中启动 coinflip 项目,ZeroBrane Studio 会自动停在 main.lua 中。按 Project -> Continue
继续运行,游戏界面出现。
单击游戏中的 “Start” 按钮,调试停止在 game.lua 中的断点处。如下图所示:
6. 进入源码调试
若要进入框架内部调试,可以取消 main.lua 中的CCLuaLoadChunksFromZip("res/framework_precompiled.zip")
调用,然后将 [quick-cocos2d-x]/framework
复制的 coinflip/scripts/
文件夹,这样在调试的时候,就可以进入框架内部了。如下图所示:
二、 在Eclipse LDT 中进行断点调试
LDT(Lua Development Tools)是一个 Eclipse 插件,支持Lua语言的编写和调试。
1. 调试模块
LDT 使用 另一个调试模块来实现调试支持。LDT可以自动生成这个模块。
单击 Run -> Debug Configurations
菜单,新建一个 Lua Attach to Application
配置,点击其中的Lua Debugger Client
将模块输出到 coinclip 的 scripts 文件夹,默认文件名为 debugger.lua 。
2. require debugger
在 coinflip/scripts/main.lua 的第一行加入下面的代码,让项目启动调试支持。
1 |
require("debugger")("127.0.0.1", 10000, "luaidekey") |
这里的 luaidekey 是调试过程中IDE用来保持会话的键名,与上面 Debug Configurations 配置界面中的 IDE Key 相同。
3. 启动调试服务器
单击 Run -> Debug Configurations
菜单,选择刚才新建的配置,单击 Debug 按钮。
4. 加断点
编辑 game.lua 文件,在32行 game.enterChooseLevelScene()
处加入断点。
5. 启动 quick-player
在 quick-player 中启动 coinflip 项目,单击游戏中的 “Start” 按钮,调试停止在 game.lua 中的断点处。如下图所示:
若要进入 framework 源码内部调试,见上方的 6. 进入源码内部调试 。
关于LDT更详细的调试信息,可以阅读 Debugging a Lua program 。
相关推荐
建设工程劳动定额LDT72.1-11-2008\(建筑工程)建设工程劳动定额LDT72.1-11-2008.pdf
lua eclipse 开发工具
基于ldt的cocos2d x lua代码提示 cocos2dx版本2 2 3
LDT73.1-4-2008建设工程劳动定额 装饰工程
ldt文件编辑器,可在随意编辑LDT灯具文件
Laravel开发-ldt Laravel的调试工具
操作系统篇-分段机制与GDT、LDT.docx
matlab匹配滤波代码在线快速阅读能力评估(ROAR) 用词汇决策任务测量...每次试验均编码了React时间(rt),准确性(acc),刺激(单词),单词长度(worrdLength),是否为实字/伪字(realpseuudo)和受试者ID(sub
利用LDT和GDT的检测方法
最全最新,绝对可用的好资料!!!!!!!!
美国Piezofilm振动-动作薄膜传感器 LDT系列介绍pdf,美国Piezofilm振动-动作薄膜传感器 LDT系列介绍
灯具配光曲线的LDT文件 GR-HID-120NR-55C90-NWRV 120W.uld 可供下载使用! 灯具配光曲线的LDT文件 GR-HID-120NR-55C90-NWRV 120W.uld 可供下载使用!
LDT-Linux驱动程序模板 LDT项目对于Linux驱动程序开发初学者和新驱动程序的起点很有用。 该驱动程序使用以下Linux设施:模块,平台驱动程序,文件操作(读/写,mmap,ioctl,阻止和非阻止模式,轮询),kfifo,完成...
负载测试工具 简单而强大的命令行工具,用于对Java模块进行负载测试。 它具有一个简单的API,可让您定义测试任务。 它的概念类似于JUnit / TestNG测试,但主要关注并发...x ldt-assembly-1.0-SNAPSHOT/bin/ldt.sh x ld
ddr3中文数据手册Micron -MT4LDT464H
测试DEBUUF是否真确,互转 转成XLS都行,方便你修改。
岩性密度(ZDL或者LDT)--孔隙度 补偿种子(CNS)--孔隙度 补偿声波(BHC)--孔隙度 双测向(DLL)或者双感应(DIL)--电阻率 微球(MSFL)--电阻率 井陉(CAL) 此外特殊方法还有 声电成像(CBIL/CAST;STAR/XMRI/...
目录 第一篇 x86 基础 第1 章数与数据类型2 1.1 数 2 1.1.1 数字 2 1.1.2 二进制数 3 1.1.3 二进制数的排列 3 1.1.4 十六进制数 5 1.1.5 八进制数...288 11.4.7 使用和测试Execution Disable 功能 292 11.5 IA-32e pagi
Maven-module项目可以...合理的使用maven-module项目,可以是项目结构分明,同时提高了代码的复用性。本文以maven插件官方示例(具体地址请查看附录)为素材,进行了项目搭建、运行与打包。项目代码压缩包请查看附录。