如何使用ZeroBrane Studio遠(yuǎn)程調(diào)試Cocos2d-x的Lua腳本
ZeroBrane Studio做為一個(gè)輕量級(jí)的Lua IDE,因?yàn)樗С挚缙脚_(tái)(支持Windows、Mac和Linux)和支持真機(jī)調(diào)試(Andorid、IPhone和IPad),所以經(jīng)常被用來(lái)調(diào)試Lua。目前,Cocos2d-x通過集成LuaSocket也支持應(yīng)用ZeroBrane Studio進(jìn)行測(cè)試?yán)恼{(diào)試(Linux除外)。我們以HelloLua為例,詳細(xì)描述如何使用ZeroBrane Studio進(jìn)行iOS模擬器和Android真機(jī)的調(diào)試。
版本
Cocos2d-x Version 3.0 Beta2
**
iOS模擬器調(diào)試測(cè)試環(huán)境
ZeroBrane Studio (0.39 for mac; MobDebug 0.542)
Mac OS X 10.9
Xcode 5.01
1.將ZeroBrane Studio.app/Contents/ZeroBraneStudio/lualibs/mobdebug/mobdebug.lua這個(gè)文件拷貝到cocos2d-x/samples/Lua/HelloLua/Resources目錄下。這步過程在Cocos2d-x v3.0 Beta2及以上版本可以略過,引擎已經(jīng)集成了這個(gè)文件。
2.用Xcode打開cocos2d-x/build/cocos2d_samples.xcodeproj之后,先把mobdebug.lua文件加入HelloLua工程,然后在HelloLua/Resources/hello.lua文件里面添加debugger調(diào)用的指令,僅需要插入require('mobdebug').start()一句,插入在require "hello2"行之前,如下:
1
2
3
4
5
6
7
local function main()
...
require('mobdebug').start() --<-- only insert this line
require "hello2"
cclog("result is " .. myadd(1, 1))
...
end
3.運(yùn)行ZeroBrane Studio,點(diǎn)擊界面從左上角的Project下面的...按鈕, 然后選中cocos2d-x/samples/Lua/HelloLua/Resources目錄,將HelloLua的Resources導(dǎo)入到Project下,如圖所示:
!(http://cn.cocos2d-x.org/doc/co ... ce.png)
4.打開hello.lua,鼠標(biāo)點(diǎn)擊行號(hào)右邊的空白處加入斷點(diǎn):
!(http://cn.cocos2d-x.org/doc/co ... nt.png)
5.從ZeroBrane Studio的菜單欄開啟Debugger Server:
!(http://cn.cocos2d-x.org/doc/co ... er.png)
6.切換回XCode,運(yùn)行HelloLua iOS測(cè)試?yán)|發(fā)斷點(diǎn)(Windows環(huán)境下切換回Visual Studio 2012):
!(http://cn.cocos2d-x.org/doc/co ... nt.png)
7.通過debug工具欄,進(jìn)行step in, step out, step over, continue等相應(yīng)操作。此處需要注意,ZeroBrane有個(gè)地方比較奇怪,以local visibleSize = cc.Director:getInstance():getVisibleSize()這行函數(shù)為例,需要step over三次才能走到下一行函數(shù),可能是因?yàn)榇颂幱袃蓚€(gè)函數(shù)調(diào)用。
!(http://cn.cocos2d-x.org/doc/co ... ar.png)
8.點(diǎn)擊View->Watch Window,打開Watch Window,添加要觀察的變量:
!(http://cn.cocos2d-x.org/doc/co ... ow.png)
!(http://cn.cocos2d-x.org/doc/co ... ue.png)
9.點(diǎn)擊View->Stack Window,還可以看到相應(yīng)的堆棧信息:
!(http://cn.cocos2d-x.org/doc/co ... fo.png)
Android真機(jī)調(diào)試測(cè)試環(huán)境
ZeroBrane Studio (0.39 for mac; MobDebug 0.542)
Android Developer Tools
HTC G17
Android(IPhone或IPad)真機(jī)調(diào)試的流程和iOS模擬器調(diào)試基本相同,主要的區(qū)別在于hello.lua中debugger調(diào)用的指令,如下:
1
2
3
4
5
6
7
local function main()
...
require('mobdebug').start('192.168.1.110')
require "hello2"
cclog("result is " .. myadd(1, 1))
...
end
其中,192.168.1.110為PC的IP地址,測(cè)試手機(jī)的wifi IP需要與PC的IP地址同一網(wǎng)段,否則無(wú)法調(diào)試。


相關(guān)問題


閩公網(wǎng)安備35010402350923號(hào)
精彩回復(fù) (0 個(gè))