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

一 使用浏览器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中,连接功能的菜单项缺省是被隐藏的,我们需要改一下浏览器配置。 如下操作

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

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

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

5 开始调试 点debugger调试器开始调试。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏GreenLeaves

WCF系列教程之WCF服务配置工具

本文参考自http://www.cnblogs.com/wangweimutou/p/4367905.html Visual studio 针对服务配置提供了一...

1727
来自专栏游戏杂谈

解决IE中图片缓存的问题

遇到一件很奇怪的事情:假设有两张图片1.jpg、3.jpg,他们同时放在一个目录下(创建时间一样),后来发现这两张图片的名称命名反了,也就是1.jpg实际应该命...

1273
来自专栏ionic3+

ionic cordova resources问题说明

ionic cordova resources是用于一键打包生成各分辨率icon和splash的命令,在使用过程中可能会遇到以下问题:

982
来自专栏Python爬虫与算法进阶

GitHub上超9Kstars的Python爬虫项目——pyspider(国人编写)

A Powerful Spider(Web Crawler) System in Python 简介 PySpider:一个国人编写的强大的网络爬虫系统并带有强...

3337
来自专栏西安-晁州

nodejs图片上传

node中图片上传的中间键很多,比如formidable等,这里我们使用nodejs中的fs来实现文件上传处理: 1、安装中间键connect-multipar...

2440
来自专栏陈满iOS

iOS开发·紫色感叹号

警告的内容说明写着:-[UIView alpha] must be used from main thread only。

622
来自专栏西安-晁州

nodejs中引入art-template模板

使用Webstorm创建nodejs express应用时,默认使用的是jade或者ejs模板,对于不习惯这两种模板语法的人来说确实不是很方便。没关系,这里我们...

2500
来自专栏龙渊阁测试精英

JMeter(十三)-代理服务器录制脚本

3:在Requests FIltering下添加排除模式,配置正则表达式。否则会录制出很多凌乱的请求。

692
来自专栏技术小讲堂

使用ASP.NET Identity以手机短信实现双重验证创建一个ASP.NET 5项目运行应用程序使用SMS短信进行双重验证开启双重验证使用双重验证登陆应用程序禁用账户来防止暴力破解

这篇文章将展示怎么使用SMS短信启动双重验证 创建一个ASP.NET 5项目 一开始,使用Visual studio 2015创建一个新的ASP.NET Web...

2925
来自专栏Pythonista

有关gitlab的神秘操作.....version&&domain设置...

在使用gitlab的时候,如果服务器IP变动,之前的domain写入了配置文件了,如下路径:

1092

扫码关注云+社区