cocos2d-js 调试办法 断点调试 Android真机调试

摘要:
在sc->start()之后,添加sc-&gt:applicationDidFinishLaunching(){//initializedirectorDirector*director=director;director-&gt:setDisplayStats(true);start(;#ifdefined(COCOS2D_DEBUG)&getInstance();

一 使用浏览器chrome打开程序,进行调试。跟普通js程序一样。

    • 要么自行搭建服务器,利用python脚本,或者用其他服务器程序(LAMP或XAMPP)。然后用浏览器打开服务器地址。
    • 要么直接使用cocos提供好的命令行:cocos run –p web

浏览器调试好处是,方便,对于小程序或者非native代码是非常有意义的。但部署到真机后遇到的问题,这就无法解决了,而且一些native代码也无法调试。

二 使用firefox远程调试。

因为cocos2d-js使用spidermonkey作为js解析引擎,这个玩意就是mozilla派的,所以用firefox做远程调试。题外话。。。这让firefox在chrome如日中天的年代又找到了点存在感啊~~~真怀念。

可以参考大牛的文章:

http://goldlion.blog.51cto.com/4127613/1359572   不过大牛这里的配图有个缺陷,连接手机的地址没有说明。127.0.0.1是用本机模拟器运行时才用到的,如果是真机,必须是手机的网络地址。这可以让开发机和手机在同一个wifi网络中,然后到路由器里边找找手机的ip,也可以用开发机ping一下。

调试步骤:

1 firefox 新版(测试在V27)

2 打开cocos2d程序的debug

               在AppDelegate.cpp(在framework里边),改写AppDelegate::applicationDidFinishLaunching()函数,在sc->start()后面加入sc->enableDebugger()的调用

bool AppDelegate::applicationDidFinishLaunching()

{

// initialize director

Director *director = Director::getInstance();

director->setOpenGLView(EGLView::getInstance());



// turn on display FPS

director->setDisplayStats(true);



// set FPS. the default value is 1.0/60 if you don't call this

director->setAnimationInterval(1.0 / 60);



ScriptingCore* sc = ScriptingCore::getInstance();

sc->addRegisterCallback(register_all_cocos2dx);

sc->addRegisterCallback(register_all_cocos2dx_extension);

sc->addRegisterCallback(register_cocos2dx_js_extensions);

sc->addRegisterCallback(register_all_cocos2dx_extension_manual);

sc->addRegisterCallback(jsb_register_chipmunk);

sc->addRegisterCallback(JSB_register_opengl);

sc->addRegisterCallback(jsb_register_system);

sc->start();



#if defined(COCOS2D_DEBUG) && (COCOS2D_DEBUG > 0)

sc->enableDebugger();

#endif





ScriptEngineProtocol *engine = ScriptingCore::getInstance();

ScriptEngineManager::getInstance()->setScriptEngine(engine);

ScriptingCore::getInstance()->runScript("cocos2d-jsb.js");



return true;

}

3 编译运行 cocos run –p android

4 firefox连接手机

在FireFox中,连接功能的菜单项缺省是被隐藏的,我们需要改一下浏览器配置。

如下操作

wKiom1MAi-XQnsrdAAG9YOUv1Ng417.jpg

wKioL1MAj_nAQioRAALzL4N7Fhw289.jpg

这样菜单项就显示出来了,然后。

wKiom1MAi-bj7diJAAHJCmkGnwU907.jpg

然后,我们把调试器和设备连接起来:(地址填手机的网络地址,图中127.0.0.1是因为模拟器运行;端口必须是5086

wKioL1MAj1bhbHAiAAMDi35HT_k909.jpg

wKioL1MAkFexa4djAAL0rsO9pM0445.jpg

弹出一个新窗口,表示连接成功。基本1s内就连接成功了,如果不成功,再检查一下cocos程序是否在运行,或者手机ip地址是否正确,或者开发机和手机是否在同一个子网。

wKiom1MAkMOC_zspAAEi4t7DzOw568.jpg

5 开始调试

点debugger调试器开始调试。

wKiom1MAkaLSDMyBAAZQR9pby-0371.jpg

这个方法也有一定缺陷,也就是必须在cocos程序启动后才能调试。启动过程中做的事情,就不好捕捉了。。。这时候需要用cc.log配合一下了。具体方法请参考前一篇日志http://www.cnblogs.com/kenkofox/p/3906562.html

免责声明:文章转载自《cocos2d-js 调试办法 断点调试 Android真机调试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇版本基线自动化之windowsA*搜索算法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用PL/SQL Developer连接远程数据库

附送PL/SQL Developer11中文版下载地址 1、先到Oracle网站下载Instant Client : http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 根据你的操作系统选择不同的Instant Client版本 下载会是一...

解决配置vim中文乱码的问题

解决linux下vim乱码的情况:(修改vimrc的内容) 全局的情况下:即所有用户都能用这个配置 文件地址:/etc/vimrc 在文件中添加: set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf-8 set encoding=utf-8 如果只修改个...

关于php使用xpath解析html中文乱码问题

1 $str2 = '<div id="content">我很好 </div>'; 2 $dom = new DOMDocument(); 3 //load之前强转字符编码 4 $str2 = mb_convert_encoding($str2 ,'HTML-ENTITIES',"UTF-8"); 5 $dom-&...

快速集成华为AGC云存储服务-Web

华为AppGallery Connect提供了一个云存储(CloudStorage)的服务,号称提供了一个便捷的云端存储服务,应用开发者使用的时候,可以不用关注服务器的部署,直接使用就行。 这个服务近期上线了Web端的JavaScript的SDK,我抢先体验试用了一下。也可以下载codelab或者demo自行研究。 1、环境与应用信息 版本名称 集成环...

DataSet分页

主要利用DataSet的筛选数据的方法 DataAdapter用Fill方法填充DataSet的时候把所取的整个记录加入到DataSet 例如:     MyAdapter.Fill(DataSet,TableName); 有时候并不需要将整个查询数据都导入DataSet,真正需要的只是数据的一部。Fill的另一种方法可以满足这种需要。     MyAda...

C语言博客作业--数组

0.展示PTA总分 1.本章学习总结 1.1 学习内容总结 顺序查找法:从数组的第一个内容开始查找,直到找到要找值。 优点:写法简单易懂。 缺点:查找次数过多,面对大数据花费时间过长。 二分查找法:将数组排序后,从数组中间的数开始查找,当查找的数比中间的数大或者小的时候,取该数应处于的范围,再次取该范围中间的内容进行比较,直到找到正确的值。 数组的...