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

所需文件 luasocket-2.0.2.zip,ZeroBraneStudioEduPack-0.50-macos.dmg,lua-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。

mac下使用zerobrane调试cocos2dx的lua的更多相关文章

  1. mac下配置gdb调试golang

    mac下配置gdb调试golang 原文链接 https://sourceware.org/gdb/wiki/BuildingOnDarwin Building GDB for Darwin Crea ...

  2. 如何使用ZEROBRANE STUDIO远程调试COCOS2D-X的LUA脚本(转)

    http://www.cocos2d-x.org/docs/manual/framework/native/v2/lua/lua-remote-debug-via-zerobrane/zh ZeroB ...

  3. Mac下利用safari调试 Cordova的WebApp

    1.打开Safari,打开顶部菜单栏中的'偏好设置',切换'高级',将“在菜单栏中显示开发菜单”钩上: 2.打开iPhone的“设置”程序,进入“Safari”->“高级”页面开启“Web检查器 ...

  4. mac 下真机调试 android 手机

    第一步: 查看usb设备信息 在 终端输入:system_profiler SPUSBDataType     可以查看连接的usb设备的信息 比如我的usb信息如下(部分内容): Spreadtru ...

  5. Mac下利用eclipse打包cocos2dx安卓apk

    上一篇博客中我们已经配置好了JDK和ANT,接下来我们就可以使用eclipse将我们开发好的cocos2dx项目进行打包了. 首先,我们需要准备好下面的内容 配置环境变量,打开"终端&quo ...

  6. PHP - MAC下PhpStorm安装调试环境xdebug

    今天下午一直在捣鼓如何用PhpStorm进行调试,查找了许多资料,零零碎碎的,所以自己弄篇文章记录一下步骤. 安装xdebug 使用brew安装xdebug,语法如下 brew install hom ...

  7. 在Mac下结合Xcode搭建Cocos2d-X开发环境!

    第一步:下载cocos2d-X的引擎包,上面已经给出地址了: http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Download 第二步:启动终端:(点 ...

  8. mac下qt设置调试器 调试器未设置

    标号少标个5凑合看吧

  9. mac 下基于firebreath 开发多浏览器支持的浏览器插件

    mac 下基于firebreath 开发多浏览器支持的浏览器插件 首先要区分什么是浏览器扩展和浏览器插件;插件可以像本地程序一样做的更多 一. 关于 firebreath http://www.fir ...

随机推荐

  1. HDU 1007:Quoit Design(分治求最近点对)

    http://acm.hdu.edu.cn/showproblem.php?pid=1007 题意:平面上有n个点,问最近的两个点之间的距离的一半是多少. 思路:用分治做.把整体分为左右两个部分,那么 ...

  2. 阿里系手淘weex学习第一天

    官网原文:https://weex.apache.org/zh/tools/extension.html#功能 功能 创建Weex项目. 支持在VSCode对Weex的语法支持. 检查iOS和Andr ...

  3. C# 中奇妙的函数–6. 五个序列聚合运算(Sum, Average, Min, Max,Aggregate)

    今天,我们将着眼于五个用于序列的聚合运算.很多时候当我们在对序列进行操作时,我们想要做基于这些序列执行某种汇总然后,计算结果. Enumerable 静态类的LINQ扩展方法可以做到这一点 .就像之前 ...

  4. Socket编程:listen()函数英文翻译

    作者:C语言达人 链接:https://zhuanlan.zhihu.com/p/24951131 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 本篇翻译的list ...

  5. pycharm install python packaging tools时遇到AttributeError: '_NamespacePath' object has no attribute 'sort'错误

    pycharm install python packaging tools时报错AttributeError: '_NamespacePath' object has no attribute 's ...

  6. weblogic安装时检查监视器: 必须配置为至少显示 256 种颜色,实际空间未知→失败

    1.首先如果你出现的结果是[未通过],则设置DISPLAY环境变量. 按网上方法:export DISPLAY=:0.0 然后继续安装你的东西……若成功则恭喜你~ 若[失败],按网上方法让你去看日志 ...

  7. something good

    CF292A CF304B CF383A CF409D CF409F CF632A CF652B CF656A CF656B CF656D CF659A CF678A CF697A CF735D CF ...

  8. Python常用的标准库以及第三方库

    Python常用的标准库以及第三方库有哪些?   20个必不可少的Python库也是基本的第三方库 读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们 ...

  9. python 中多个装饰器的执行顺序

    python 中多个装饰器的执行顺序: def wrapper1(f1): print('in wrapper1') def inner1(*args,**kwargs): print('in inn ...

  10. Java提供的几种线程池

    线程池,顾名思义,放线程的池子嘛,这个池子可以存放多少线程取决于你自己采用什么样的线程池,你的硬件资源,以及并发线程的数量.JDK提供了下面的四种线程池: 固定线程数的线程池 最简单的 在Java中创 ...