cocos2d-x从c++到js21(使用CocosCode调试JSB)

黄沙百战穿金甲,不破楼兰终不还。这篇文章主要讲述cocos2d-x从c++到js21:使用CocosCode调试JSB相关的知识,希望能为你提供帮助。
之前JSB调试的方式,很多公司都是用html5来做的,或者直接打log。这几者的优劣性,我们在第17篇中分析过。



3.15大会放出了Cocos的官方IDE——CocosCode。这个IDE使用eclipse定制,使用了V8的调试插件,可以用来调试JSB。


CocosCode(Mac版)下载地址:
http://cocostudio.download.appget.cn/cocos-code-ide/1.0-alpha/cocos-code-mac64-1.0.0-alpha.zip


支持IDE的修改版Cocos2d JS 3.0 alpha引擎
http://cocostudio.download.appget.cn/cocos-code-ide/1.0-alpha/cocos2d-js-3.0-alpha-for-ide.zip



看来调试功能和脚本引擎还没有完全整合好(应该要添加支持V8调试的代码),所以单独做了一个引擎版本。不过之后应该就都是统一的版本了。会很快出来的。


eclipse的安装直接解压就行。然后我们绑定一下引擎SDK。

cocos2d-x从c++到js21(使用CocosCode调试JSB)

文章图片



新建一个Cocos2d JS工程。没什么可说的,一路确定即可。

cocos2d-x从c++到js21(使用CocosCode调试JSB)

文章图片



然后打个断点,启动调试器
cocos2d-x从c++到js21(使用CocosCode调试JSB)

文章图片



cocos2d-x从c++到js21(使用CocosCode调试JSB)

文章图片



实验了一下,各种常用断点方式(包括命中次数,条件表达式断点,内存断点),都不太好用,有的虽然能命中,但是内存数据dump不出来,而且调试按钮也失效了。看来这方面还有待完善。基本的函数断点还是可以用的。


另外,热代码替换也没实验成功。也许是我的手法步骤不对吧。


虽然如此,但是这个功能,已经可以管很大作用了。


这个IDE还有很多功能,大家可以参考官方文档。


参考文献:
http://blog.csdn.net/cabxyz/article/details/22085637

http://www.cocos2d-x.org/wiki/How_to_Debug_Cocos2d-x_Lua_Game_Using_Code_IDE

【cocos2d-x从c++到js21(使用CocosCode调试JSB)】


    推荐阅读