lua 远程调试 【zeroBrane 使用mobdebug】(good转)
最近基于业务需求,学习了如何使用zeroBrane这个IDE实现C/S 模式下的 lua远程调试,废话不多,上效果图:
----------------------------------------------------------------------华丽分割线---------------------------------------------------------
操作流程:zeroBrane project -> start debugger server
启动 socket server 所在文件,启动监听。
在另一个目录,启动 socket client 所在文件,IDE zeroBrane 会立即唤醒,见上图2,被动打开 server所在目录,同名文件(即使文件内容不同),并默认停在第11行。【因为客户端的有效断点最小就在第11行】
试着step over 一下,你发现stack栏出现客户端调试信息。对的,这就是远程调试。
----------------------------------------------------------------------华丽分割线---------------------------------------------------------
实现流程:
1.在任意盘新建一个文件夹,里面放入client lua 文件,此处是test.lua.
问题:我此处还拖入了mobdebug文件,mobdebug文件里,require了socket,显示找不到。所以我在test文件里修改了package path,改了之后其实mobdebug
文件可有可无了,新改的package path里包涵了mobdebug路径。
2.同上再新建,放入server 文件。此处有 test3.lua 启动服务器 ,test.lua 供 客户端 test.lua 同步唤醒。
----------------------------------------------------------------------华丽分割线---------------------------------------------------------
3份文件代码:(虽然不复杂,但谁让我敬业)
1. 客户端 的 test:
- local p = "C:/Program Files (x86)/Lua/5.1/";
- package.cpath = package.cpath..string.format(";?.dll;%sclibs/?.dll;%s;",p,p);
- package.path = package.path..string.format(";?.lua;%slua?.lua;%s;",p,p);
- require('mobdebug').start('127.0.0.1')
- local tmp_str = "Debug"
- print("1")
- print("2")
- print("3")
- print("4")
- print("Lua Lapis")
2. 服务端 test3:
- local mobdebug = require "mobdebug"
- local socket = require "socket"
- local server = socket.bind('*', 8172)
- local realprint = print
- -- uncomment the next line if you ONLY want to see debug output
- -- _G.print = function () end
- print("Lua Remote Debugger")
- print("Run the program you wish to debug")
- local client = server:accept()
3.服务端 test:
- print("1")
- print("2")
- print("3")
- print("4")
- print("Lua Lapis")
- print("1")
- print("2")
- print("3")
- print("4")
- print("Lua Lapis")
- print("1")
- print("2")
- print("3")
- print("4")
- print("Lua Lapis")
- print("1")
- print("2")
- print("3")
- print("4")
- print("Lua Lapis")
- print("1")
- print("2")
2016年2月25日17:22:36 补充:
1.测试手机设备lua代码:
如果传递过来的路径类似于:apphome:core/app.lua 这就需要转换成 pc认识的路径;(如图:记住位置,因为我加了点注释,所以是第692行附近)
2.这个模式是c/s模式,一个s多个c,再你每个要调的lua文件之前都要加上 require("mobdebug").start("192.168.*.*);
http://blog.csdn.net/lpcz2010/article/details/50722048
(1)lua/groovy的语法差异
(2)编辑lua脚本常用的IDE介绍
(3)lua脚本的特色。以及Lua的OO编程
lua 远程调试 【zeroBrane 使用mobdebug】(good转)的更多相关文章
- 如何使用ZEROBRANE STUDIO远程调试COCOS2D-X的LUA脚本(转)
http://www.cocos2d-x.org/docs/manual/framework/native/v2/lua/lua-remote-debug-via-zerobrane/zh ZeroB ...
- ZeroBraneStudio之支持远程调试
打开ZBS后,如果需要远程调试得先开启调试服务器:Project->Start Debugger Server 打开之后就可以编辑文件进行测试了.示例代码如下: local ZBS = 'D:/ ...
- Redis Lua脚本调试
从版本3.2开始,Redis包含一个完整的Lua调试器,可以用来使编写复杂Redis脚本的任务更加简单. 由于Redis 3.2仍处于测试阶段,请unstable从Github 下载Redis 的分支 ...
- 在cocos code ide的基础上构建自己的lua开发调试环境
对于一种语言,其所谓开发调试环境, 大体有以下两方面的内容: 1.开发, 即代码编写, 主要是代码提示.补齐, 更高级一点的如变量名颜色等. 2.调试, 主要是运行状态下断点.查看变量.堆栈等. 现在 ...
- 微信公众号开发之VS远程调试
目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流 ...
- tomcat开发远程调试端口以及利用eclipse进行远程调试
一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里: SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...
- Visual Studio 2012远程调试中遇到的问题
有的时候开发环境没问题的代码在生产环境中会某些开发环境无法重现的问题,或者需要对生产环境代码进行远程调试该怎么办? Vs已经提供给开发者远程调试的工具 下面简单讲讲该怎么用,前期准备:1.本地登录账户 ...
- 使用Eclipse进行远程调试
转自:http://blog.csdn.net/sunyujia/article/details/2614614 今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言 ...
- 微信公众号开发系列教程一(调试环境部署续:vs远程调试)
http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...
随机推荐
- URL加随机数的作用
原文:URL加随机数的作用 大家在系统开发中都可能会在js中用到ajax或者dwr,因为IE的缓存,使得我们在填入相同的值的时候总是使用IE缓存,为了解决这个问题一般可以用一下方法: 1 ...
- How do I create a zip file?(转)
Creating a zip file is a task that can easily be accomplished by using the classes ZipOutputStream a ...
- Android WebView挂马漏洞--各大厂商纷纷落马
本文章由Jack_Jia编写,转载请注明出处. 文章链接: http://blog.csdn.net/jiazhijun/article/details/11131891 作者:Jack_Jia ...
- 《转》Python多线程学习
原地址:http://www.cnblogs.com/tqsummer/archive/2011/01/25/1944771.html 一.Python中的线程使用: Python中使用线程有两种方式 ...
- TStack,TQueue,TObjectList,TObjectStack等等
TStack,TQueue,TObjectList,TObjectStack等等,都在Contnrs.pas单元里,需要手动添加. 不同于TList类,TObjectList对象将销毁任何从列表中删除 ...
- 使用VS插件在VS2012/2013上编辑和调试Quick-Cocos2d-x的Lua代码
vs 也能够做lua 开发,并进行代码调试 依照以下文档,调试没问题. 參考文档: 点击打开链接
- Windows 8.1下 MySQL绿色版安装配置与使用
原文:Windows 8.1下 MySQL绿色版安装配置与使用 Mysql-5.6.17-winx64操作步骤: 一.安装MySQL数据库 1.下载. 下载地址:http://downloads.my ...
- Android bluetooth介绍(四): a2dp connect流程分析
关键词:蓝牙blueZ A2DP.SINK.sink_connect.sink_disconnect.sink_suspend.sink_resume.sink_is_connected.sink_ ...
- 复习面向对象的OOA、OOD、OOP
复习 OOA.OOD.OOP OOA Object-Oriented Analysis:面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后,依照面向对象的思想来分析问题. OOA与结构化 ...
- CH BR4思考熊(恒等有理式-逆波兰表达式求值)
恒等有理式 总时限 10s 内存限制 256MB 出题人 fotile96 提交情况 4/43 描述 给定两个有理式f(X)与g(X),判断他们是否恒等(任意A,如果f(A)与g(A)均有定义,那么f ...