如何使用ZEROBRANE STUDIO远程调试COCOS2D-X的LUA脚本(转)
http://www.cocos2d-x.org/docs/manual/framework/native/v2/lua/lua-remote-debug-via-zerobrane/zh
ZeroBrane Studio做为一个轻量级的Lua IDE,因为它支持跨平台(支持Windows
、Mac
和Linux
)和支持真机调试(Andorid
、IPhone
和IPad
),所以经常被用来调试Lua。目前,Cocos2d-x通过集成LuaSocket也支持应用ZeroBrane Studio进行测试例的调试(Linux除外)。我们以HelloLua为例,详细描述如何使用ZeroBrane Studio进行iOS模拟器和Android真机的调试。
版本
- Cocos2d-x Version 3.0 Beta2
iOS模拟器调试
测试环境
- ZeroBrane Studio (0.39 for mac; MobDebug 0.542)
- Mac OS X 10.9
- Xcode 5.01
1.将ZeroBrane Studio.app/Contents/ZeroBraneStudio/lualibs/mobdebug/mobdebug.lua
这个文件拷贝到cocos2d-x/samples/Lua/HelloLua/Resources
目录下。这步过程在Cocos2d-x v3.0 Beta2及以上版本可以略过,引擎已经集成了这个文件。
2.用Xcode打开cocos2d-x/build/cocos2d_samples.xcodeproj
之后,先把mobdebug.lua
文件加入HelloLua工程,然后在HelloLua/Resources/hello.lua
文件里面添加debugger调用的指令,仅需要插入require('mobdebug').start()
一句,插入在require "hello2"
行之前,如下:
local function main()
...
require('mobdebug').start() --<-- only insert this line
require "hello2"
cclog("result is " .. myadd(1, 1))
...
end
3.运行ZeroBrane Studio,点击界面从左上角的Project下面的...
按钮, 然后选中cocos2d-x/samples/Lua/HelloLua/Resources目录,将HelloLua的Resources导入到Project下,如图所示:
4.打开hello.lua,鼠标点击行号右边的空白处加入断点:
5.从ZeroBrane Studio的菜单栏开启Debugger Server:
6.切换回XCode,运行HelloLua iOS测试例,触发断点(Windows环境下切换回Visual Studio 2012
):
7.通过debug工具栏,进行step in, step out, step over, continue等相应操作。此处需要注意,ZeroBrane有个地方比较奇怪,以local visibleSize = cc.Director:getInstance():getVisibleSize()
这行函数为例,需要step over三次才能走到下一行函数,可能是因为此处有两个函数调用。
8.点击View->Watch Window
,打开Watch Window,添加要观察的变量:
9.点击View->Stack Window
,还可以看到相应的堆栈信息:
Android真机调试
测试环境
- ZeroBrane Studio (0.39 for mac; MobDebug 0.542)
- Android Developer Tools
- HTC G17
Android(IPhone
或IPad
)真机调试的流程和iOS模拟器调试基本相同,主要的区别在于hello.lua
中debugger调用的指令,如下:
local function main()
...
require('mobdebug').start('192.168.1.110')
require "hello2"
cclog("result is " .. myadd(1, 1))
...
end
其中,192.168.1.110
为PC的IP地址,测试手机的wifi IP需要与PC的IP地址同一网段,否则无法调试。
http://blog.csdn.net/kenkao/article/details/46126103
如何使用ZEROBRANE STUDIO远程调试COCOS2D-X的LUA脚本(转)的更多相关文章
- ZeroBrane Studio远程调试Lua程序(转)
环境: ZeroBrane Studio安装在Windows 7上,而要调试的程序运行在CentOS上: 设置: 在windows 7上,打开ZeroBrane Studio,打开需要调试的文件,例如 ...
- Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储
在VS2013中调试Silverlight项目时,提示:无法附加.Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储.请改用64位版本. ...
- CLR调试报错“Visual Studio远程调试监视器 (MSVSMON.EXE) 的 64 位版本无法调试 32 位进程或 32 位转储。请改用 32 位版本”的解决
Win7 64位电脑上进行visual studio的数据库项目的CLR存储过程进行调试时,报错: ---------------------------Microsoft Visual Studio ...
- Visual Studio远程调试
Visual Studio支持调试远程机器上的程序,经过简单设置后,就像调试本地代码一样方便. 第一步:将vs工具里的Remote Debugger文件夹拷贝到目标机器.大致的目录应该是:D:\Pro ...
- visual studio远程调试 remote debugger
下载远程debug工具: https://docs.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging?view=vs-2015 或者 ...
- 通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序
最近两天在Linux中调试.NET Core应用程序,同时我发现在Linux中调试.NET Core应用程序并不容易.一直习惯在Visual Studio中进行编码和调试.现在我想的是可以简单快速的测 ...
- 在windows通过visual studio远程调试linux mono程序
本文参考文章 https://github.com/techl/MonoRemoteDebugger 1.通过连接https://github.com/techl/MonoRemoteDebugger ...
- 无法在web服务器上启动调试。Microsoft Visual Studio 远程调试监视器(MSVSMON.EXE)似乎没有在远程计算机上运行,VS2012调试错误
1.重启(无用) 2.关闭防火墙(无用) 3.开启文件与打印机共享(无用) 4.无远程调试权限,改为本地调试.或者是IIS中此项目没有启动.或者没有在IIS中新建此项目.
- VS本地调试 Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储
vs2017 调试一致都没啥问题,今天莫名报这个错误,感觉好奇怪,网上搜索了半天也没解决,最后看着错误信息感觉很诡异,我本地调试你给我启动远程调试监测器干嘛,localhost也访问不了,ping了一 ...
随机推荐
- 在Window和Linux下使用Zthread库
ZThread库是一个开源的跨平台高级面向对象的线性和sycnchronization 库,以运行POSIX 和Win32 系统中的C++程序. ZThread库的主页:http://zthread. ...
- Android中网络流量控制(防火墙)——Iptables
Iptables简单介绍 iptables是与最新的 2.6.x 版本号 Linux 内核集成的 IP 信息包过滤系统. 假设 Linux 系统连接到因特网或 LAN.server或连接 LAN 和因 ...
- ubuntu 64位下安装wps
首先,去官网下载wps.地址:http://community.wps.cn/download/ 然后切换到下载文件夹.运行例如以下命令: $ sudo apt-get install ia32-li ...
- 破解phpjm.net加密,解密程序,全部公布
原文:破解phpjm.net加密,解密程序,全部公布 2014-05-23更新: 很久没人找我解密了,看来这加密已过时,现公布我这边最新的解密工具. 若有解不出的可联系qq: 267014855 (不 ...
- OCP读书笔记(1) - Oracle核心概念和工具
ohasdoracle high available service daemon OEMweb -- Database Control资料库 -- sysman Starting Oracle Re ...
- PreparedStatement与Statement
转载自:http://www.importnew.com/5006.html PreparedStatement是用来运行SQL查询语句的API之中的一个,Java提供了 Statement.Prep ...
- PAT-B 1015. 德才论(同PAT 1062. Talent and Virtue)
1. 在排序的过程中,注意边界的处理(小于.小于等于) 2. 对于B-level,这题是比較麻烦一些了. 源代码: #include <cstdio> #include <vecto ...
- HDU 5009 Paint Pearls (动态规划)
Paint Pearls Problem Description Lee has a string of n pearls. In the beginning, all the pearls have ...
- 使用jQuery实现tag便签去重效果
话不多说直接看代码 jsp页面的核心代码 <head> <script type="text/javascript" src="js/jQuery.js ...
- hdu3732(多重背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3732 题意:Ahui学习英语单词,每个单词都是不同的,并且都有自身的价值量 w 和难度值 c (0&l ...