mac下使用zerobrane調試cocos2dx的lua


環境:MacOSx 10.9.2, Lua 5.1.4, luaSocket 2.0.2, xcode5.0.2

所需文件 luasocket-2.0.2.zipZeroBraneStudioEduPack-0.50-macos.dmglua-5.1.2.zip 


第一步,安裝lua(版本是 lua5.1.4,官方下載地址 http://www.lua.org/ftp/lua-5.1.4.tar.gz

安裝前需要修改部分文件 ,以生成32位的lua環境(不做修改時,會默認安裝成64位的Lua環境。而調試貌似只能用32位(具體原因待研))

1、修改src/Makefile

macosx:$(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-lreadline"

修改為:macosx:$(MAKE) all MYCFLAGS="-DLUA_USE_LINUX -arch i386" MYLIBS="-lreadline -arch i386”

2、安裝make macosxsudo make install

接着查看編譯后的lua屬性

file /usr/local/bin/lualua: Mach-O executable i386 

說明32位的lua已經安裝成功。  

 

第二步,安裝luasocket

版本是luaSocket2.0.2,遠程調試lua時會使用到這個庫。

官方下載地址 http://files.luaforge.net/releases/luasocket/luasocket/luasocket-2.0.2/luasocket-2.0.2.tar.gz

安裝前也需要修改文件。

1、修改config (目的是生成32位的.so文件,未進行該步驟時,運行lua時,會提示 mach-o, wrong achitecture之類的錯誤)

增加-arch i386 (有兩處)

CFLAGS= $(LUAINC) -I$(COMPAT) $(DEF) -pedantic -Wall -O2 -fno-common -arch i386

LDFLAGS=-bundle -undefined dynamic_lookup -arch i386LD=export MACOSX_DEPLOYMENT_TARGET="10.7"; gcc

2、修改src/Makefile  (未執行該步驟,運行 lua -l socket 時,會報錯:dlsym(0x2705e0, luaopen_socket_core): symbol not found.......)

添加unix.o到socket,修改后的段內容如下:

SOCKET_OBJS:= \luasocket.o \timeout.o \buffer.o \io.o \auxiliar.o \options.o \inet.o \tcp.o \udp.o \except.o \select.o \usocket.o \unix.o

3、安裝makesudo make install此時運行 lua -l “socket”,若未報錯,則說明安裝成功。 

 

第三步,下載zerobranezerobrane是一個開源項目,本身使用lua開發,支持windows、linux和macosx。

下載地址:https://studio.zerobrane.com/download.html?not-this-time 

將ZeroBrane Studio.app/Contents/ZeroBraneStudio/lualibs/mobdebug/mobdebug.lua拷貝到項目的resource/scripts/xx目錄

在入口mainScene.lua的前面加上 

require('mobdebug').start()

 

第四步,調試

1、勾選zerobrane的Project-start debug server,若為置灰,說明已經開始監聽。

2、在需要斷點的代碼處,設置斷點。(目前好像不支持在啟動以后再設置斷點)

3、在xcode中啟動程序。

4、運行到斷點后,支持step調試以及watch。


免責聲明!

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



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