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:

 

[javascript] view plain copy

 
 print?

  1. local p = "C:/Program Files (x86)/Lua/5.1/";  
  2. package.cpath = package.cpath..string.format(";?.dll;%sclibs/?.dll;%s;",p,p);  
  3. package.path = package.path..string.format(";?.lua;%slua?.lua;%s;",p,p);  
  4. require('mobdebug').start('127.0.0.1')  
  5.   
  6.   
  7.   
  8.   
  9.   
  10. local tmp_str = "Debug"  
  11. print("1")  
  12. print("2")  
  13. print("3")  
  14. print("4")  
  15. print("Lua Lapis")  

 

 

2. 服务端 test3:

 

 

[javascript] view plain copy

 
 print?

  1. local mobdebug = require "mobdebug"  
  2. local socket = require "socket"  
  3. local server = socket.bind('*', 8172)  
  4.   
  5. local realprint = print  
  6. -- uncomment the next line if you ONLY want to see debug output  
  7. -- _G.print = function () end  
  8.   
  9. print("Lua Remote Debugger")  
  10. print("Run the program you wish to debug")  
  11.   
  12. local client = server:accept()  

3.服务端 test:

 

 

[javascript] view plain copy

 

 print?

  1. print("1")  
  2. print("2")  
  3. print("3")  
  4. print("4")  
  5. print("Lua Lapis")  
  6. print("1")  
  7. print("2")  
  8. print("3")  
  9. print("4")  
  10. print("Lua Lapis")  
  11. print("1")  
  12. print("2")  
  13. print("3")  
  14. print("4")  
  15. print("Lua Lapis")  
  16. print("1")  
  17. print("2")  
  18. print("3")  
  19. print("4")  
  20. print("Lua Lapis")  
  21. print("1")  
  22. 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编程

 

时间: 2024-10-28 13:34:22

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 ZeroBrane Studio做为一个轻量级的Lua IDE,因为它支持跨平台(支持Windows.Mac和Linux)和支持真机调试(Andorid.IPhone和IPad),所以经常被用来调试Lua.目前,Cocos2d-x通过集成LuaSocket也支持应用ZeroBrane Studio进行测试例的

eclipse/intellij idea 远程调试hadoop 2.6.0

很多hadoop初学者估计都我一样,由于没有足够的机器资源,只能在虚拟机里弄一个linux安装hadoop的伪分布,然后在host机上win7里使用eclipse或Intellj idea来写代码测试,那么问题来了,win7下的eclipse或intellij idea如何远程提交map/reduce任务到远程hadoop,并断点调试? 一.准备工作 1.1 在win7中,找一个目录,解压hadoop-2.6.0,本文中是D:\yangjm\Code\study\hadoop\hadoop-2.

Eclipse远程调试Weblogic运行的源代码

web|源代码 看过许多远程调试的例子,大多数都是针对tomcat或者jboss服务器的,很少能搜索到weblogic服务器的远程调试例子和文章,前些天在项目开发的时候尝试了一下,感觉十分得不错,拿出来跟大家分享一下,不过我要多罗嗦几句. 远程调试的好处:我们现在开发的模式大多是本机用eclipse集成source管理环境,集成ant的编译环境,用weblogic插件集成运行环境,基本上一个eclipse又当爹又当妈的,这样的好处就是开发环境配置集中,普通的程序员只要按步骤做就可以了,开发步骤简

对 ASP.NET 应用程序启动调试应如何设置(包括远程调试)

asp.net|程序|asp.net 对 ASP.NET 应用程序启动调试应如何设置(包括远程调试) 请根据你的调试类型与操作系统选择,以下步骤请勿颠倒(不行的话,从头开始设置) PS:因本人撰写本稿时,用的是Win 2003 .Win2000 繁体版 + Visual Studio.Net 2003 英文版,故抓下来的图与说明不大一样,但这些"属性"的位置是不变的 一.本地调试 A. Windows 2000 操作系统 1.打开VS.Net工具选项 → 项目Web设置 → Web服务

VSS控制存储过程,及其asp.net的远程调试

asp.net|存储过程|控制 VSS控制存储过程,及其asp.net的远程调试 服务器安装: 一.VSS 6d 二.VS2003.net,服务器至少安装如图内容: 客户端: 一.可远对 ASP.net服务器进行远端 服务器安装完成,本机不用作特别的设置. 就可以实现在本机,对远端服务器的单步调试,并可进入到自定义类库中进行调试. 二.存储过程的VSS控制: 1.客户端安装VSS 6d 2.在菜单"工具"-->"选项"按图示设置 3.用VS.net的"

SharePoint 2013的本地开发解决方案及远程调试

在SharePoint开发中,我们需要在部署有SharePoint环境的服务器中开发,这是一件让人很苦恼的事情,毕竟不能一个项目多人开发配备多台服务器,这就需要本地开发. 本来自己以为SharePoint 2013在不再支持客户端系统的条件下,只能服务器上开发,QQ群里的朋友提醒说也可以本地开发,远程调试,以为自己是知道SharePoint 2010可以通过注册表修改,本地安装SharePoint的,顺着这个思路,经过一番谷歌/bing,然后实现了,在此总结一下,分享给大家. 思  路 本地安装

在IBM i上远程调试Liberty Web应用

2012 年 6月,IBM 正式发布了 WebSphere Application Server V8.5 版本(简称 WAS V8.5).WebSphere Liberty Profile Server(简称 Liberty)在是 WAS V8.5 中最主要的新特性,它是一个基于 OSGi 内核,高模块化,高动态性的轻量级 WebSphere 应用服务器,其安装极为简单.启动非常快.占用很少的磁盘和内存空间,支持 Web.mobile 和 OSGi 应用的开发,一经推出就受到广大开发人员的青睐

在ZendStudio中开启PHP 5.2.x环境的远程调试功能

以前每当一个 Zend Studio 的新版本发布时都会同时发布一个新版的 Zend Studio Server 组件,这个组件可以让我们很方便地进行远程调试.但是自从 Zend 发布了 Zend Platform 以后他们就不再更新 Zend Studio Server 组件了.这就导致我们只能远程调试 PHP 5.1.x 的环境,而不能调试 PHP 5.2.x.要想调试 PHP 5.2.x 只能装一个庞大的 Zend Platform.:( 因此我一直在找一个"轻量级"的解决方案.

xdebug远程调试原理分析

xdebug可以控制PHP程序的执行,这意味着xdebug可以在任何时候暂停或者恢复正在运行的PHP程序.当PHP程序被暂停的时候,xdebug可以获取到程序的相关信息,比如变量的值等.xdebug也可以修改一个变量的值,然后再恢复暂停的程序,让其继续运行. xdebug配合IDE进行可视化调试的过程(类似于VisualStudio单步调试)被称为"远程调试",是因为调试时有一个Server(xdebug)和一个Client(IDE),所以在调试的时候,被调试的PHP程序和调试PHP程