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中,連接功能的菜單項缺省是被隱藏的,我們需要改一下瀏覽器配置。

如下操作

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM