环境: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 3068:最长回文(Manacher算法)

    http://acm.hdu.edu.cn/showproblem.php?pid=3068 最长回文 Problem Description   给出一个只由小写英文字符a,b,c...y,z组成的 ...

  2. C++学习书籍推荐《Effective C++ 第三版(英文)》下载

    百度云及其他网盘下载地址:点我 作者简介 Scott Meyers is one of the world's foremost authorities on C++, providing train ...

  3. pdfminer获取每页的layout

    #! python2 # coding: utf-8 import sys from pdfminer import pdfparser from pdfminer import pdfdocumen ...

  4. crontab 中curl命令无法正常执行

    这里所指curl无法执行Url情况是针对带参数的链接,方法体中无法获取参数的值. 比如: */7 * * * * curl http://localhost:8088/backening/sysOrd ...

  5. 满足高密度设备存储需求 一颗ICMAXLPDDR4X 8GB就行

    通讯技术在当代无疑更新越来越快速,随着5G时代即将到来,对通讯的设备的要求也将提出更高的要求.具备AI功能的硬件设备将普及化,其智能化程度也将越来越高,同时对手机等智能移动设备的内存容量和带宽也提出了 ...

  6. 浅谈 Attention 机制的理解

    什么是注意力机制? 注意力机制模仿了生物观察行为的内部过程,即一种将内部经验和外部感觉对齐从而增加部分区域的观察精细度的机制.例如人的视觉在处理一张图片时,会通过快速扫描全局图像,获得需要重点关注的目 ...

  7. Bzoj 3126[Usaco2013 Open]Photo 题解

    3126: [Usaco2013 Open]Photo Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 335  Solved: 169[Submit] ...

  8. ServiceFabric极简文档-3. 发布脚本

    web: Trap { Write-Host $_.Exception.Message; Continue }; Connect-ServiceFabricCluster Remove-Service ...

  9. Java编程思想:为什么要使用内部类

    public class Test { public static void main(String[] args) { Callbacks.test(); } } /* 为什么需要内部类: 1.可以 ...

  10. POJ2533&&SP1799 The Bottom of a Graph(tarjan+缩点)

    POJ2553 SP1799 我们知道单独一个强连通分量中的所有点是满足题目要求的 但如果它连出去到了其他点那里,要么成为新的强连通分量,要么失去原有的符合题目要求的性质 所以只需tarjan缩点求出 ...