標籤:android style blog http color 使用 os io
一 使用瀏覽器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 directorDirector *director = Director::getInstance();director->setOpenGLView(EGLView::getInstance());// turn on display FPSdirector->setDisplayStats(true);// set FPS. the default value is 1.0/60 if you don‘t call thisdirector->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();#endifScriptEngineProtocol *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。