一 使用瀏覽器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。







