• 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 imeout.o uffer.o io.o auxiliar.o options.o inet.o cp.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。

  • 相关阅读:
    《React+Redux前端开发实战》笔记2:基于Webpack构建的Hello World案例(上)
    Micro:bit 03:剪刀石头布进阶版
    c++05:二维数组
    c++04:数组的应用:点灯问题
    c++03:质合判断
    Micro:bit第二集——温控与风扇
    c++之二:利用一维数组求最大,最小,平均值
    c++首发:软件安装&helloworld
    scratch第十二集——星图
    scratch第十一集——黄金矿工
  • 原文地址:https://www.cnblogs.com/kumbayaco/p/3683817.html
Copyright © 2020-2023  润新知