环境: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. redux和react-redux做简单组件控制

    这次我们用两种方式实现以下要求 1.三个组件 2.第一个组件有两个按钮 分别控制第二和第三个组件年龄和姓名的改变 3第二个组件展示姓名,第三个组件展示年龄 用到哪些插件 store  redux 一 ...

  2. 使用Mysql执行SQL语句基础操作

    SQL:  又叫结构化语言,是一种用来操作RDBMS的数据库语言,在关系型数据库中都支持使用SQL语句,如oracle.mysql等等. 注意: 在关系型数据库中sql语句是通用的,而在非关系型数据库 ...

  3. 管Q某犇借的对拍

    #include<iostream> #include<windows.h> using namespace std; int main() { while(1) { syst ...

  4. 【题解】搬书-C++

    搬书 Description 陈老师桌上的书有三堆,每一堆都有厚厚的一叠,你想逗一下陈老师,于是你设计一个最累的方式给他,让他把书 拿下来给同学们.若告诉你这三堆分别有i,j,k本书,以及每堆从下到上 ...

  5. Python趣用—配平化学方程式

    不知不觉已经毕业多年了,不知道大家是否还记得怎么配平化学方程式呢?反正小编我是已经记不太清了,所以今天的文章除了分享如何用python配平化学方程式,顺带着还会复习 一些化学方程式的知识,希望广大化学 ...

  6. python函数知识一 函数初始、定义与调用、返回值、参数和函数的好处+菜中菜

    第四章 函数 1.函数初识: def :关键字 -- 定义 函数名:和变量的定义方式一样 (): 用于参数传递,: 形参:函数的定义中()内的是形参 实参:调用的()内是实参 传参:调用时将实参传递给 ...

  7. CentOS 7.3 安装python3

    1.排查 CentOS 7.3 默认安装的是python2,使用命令 python -V 可以看到 python 的版本 Python 2.7.5 然后使用命令 which python 查看一下Py ...

  8. Hive调优策略

    Hive调优策略 Fetch抓取 Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算. 例如:select * from employee:在这种情况下,Hive可以简单 ...

  9. os模块习题

    os 1.使用python代码统计一个文件夹中所有文件的总大小 import os def func(path): size_sum = 0#文件总大小为0 name_lst = os.listdir ...

  10. .NET 欢乐编程术之类型超级转换之术👍👍

    准备工作:先确保 VS 版本大于 2017,且支持C# 7.0 语言版本.然后新建 .Net Core 项目,在 Nuget 包管理上引入微软霸霸官方包 System.Runtime.Compiler ...