最近基于业务需求,学习了如何使用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. local tmp_str = "Debug"
  6. print("1")
  7. print("2")
  8. print("3")
  9. print("4")
  10. 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. local realprint = print
  5. -- uncomment the next line if you ONLY want to see debug output
  6. -- _G.print = function () end
  7. print("Lua Remote Debugger")
  8. print("Run the program you wish to debug")
  9. 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编程

转载于:https://www.cnblogs.com/softidea/p/5281068.html

lua 远程调试 【zeroBrane 使用mobdebug】(good转)相关推荐

  1. 如何使用ZEROBRANE STUDIO远程调试COCOS2D-X的LUA脚本

    http://www.cocos2d-x.org/docs/manual/framework/native/v2/lua/lua-remote-debug-via-zerobrane/zh ZeroB ...

  2. Idea SpringBoot 基于 Docker容器环境进行远程调试

    远程服务环境要求 对启动的jar服务命令进行修改,改成远程调试模式启动 eg: java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspen ...

  3. pycharm配置远程调试docker

    20210923 pycharm 运行远程解释器 20210915 远程调试确认配置 第一步如果事先没有配置ssh,可以选下面新建ssh 还有另一种调试方法:使用pycharm-debug包调试 详情 ...

  4. pycharm连接远程服务器并进行代码上传+远程调试

    Pycharm连接远程服务器并进行代码上传+远程调试 </h1><div class="clear"></div><div class=& ...

  5. NetBeans配置Xdebug 远程调试PHP

    很多PHP程序员使用echo,dump等比较原始的方法调试,这是非常落后的. 几年前本人写过一篇: NetBeans配置Xdebug 由于那篇文档还需要引用本人写的其他文档,感觉有些分散,所以这里重新 ...

  6. 【GDB】gdbserver的使用,远程调试开发板

    0.将gdbserver拷贝到目标板子上 注:gdbserver在交叉编译工具目录/debug-root/usr/bin下 可用file命令查看 --------------------------- ...

  7. visual studio asmx 调试_通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序...

    最近两天在Linux中调试.NET Core应用程序,同时我发现在Linux中调试.NET Core应用程序并不容易.一直习惯在Visual Studio中进行编码和调试.现在我想的是可以简单快速的测 ...

  8. 【转载】pycharm远程调试配置

    pycharm远程调试配置https://www.cnblogs.com/liangjiongyao/p/8794324.html

  9. Linux下Debug模式启动Tomcat进行远程调试

    J2EE开发各类资源下载清单,  史上最全IT资源,点击进入! 一.      应用场景 在实际的测试过程中,可能会遇到由于程序执行的不间断性,我们无法构造测试场景来验证某个功能的正确性,只有通过代码 ...

  10. 惊呆了!Spring Boot 还能远程调试?

    目录 前言 什么是远程调试? 为什么要远程调试? 什么是JPDA? 如何开启远程调试? transport server suspend address onthrow onuncaught laun ...

最新文章

  1. ES6数组的解构赋值( 中)
  2. Intellij IDEA打开就闪退或关闭
  3. Swift实现Touch ID验证
  4. MQTT+ActiveMQ实现消息推送
  5. 大学生计算机实验基础考试,大学生计算机基础考试题库完整(56页)-原创力文档...
  6. 家谱(信息学奥赛一本通-T1388)
  7. Python笔记(1) Python简介
  8. html背景无法载入gif图像,background-image:url(XXXX.gif)为何不显示背景图片_html/css_WEB-ITnose...
  9. Linux下读写UART串口的代码
  10. re模块和正则表达式
  11. 深入理解计算机系统总结
  12. 很全的C51库函数(IIC类)(IIC、EEPROM、ADXL、PCF、HMC、L3G、BMP)
  13. 《VP9 Video Codec》Overview
  14. \t\t健康生活:20个健康小细节隐藏大危害!
  15. stormzhang Android 学习之路
  16. 三、Unity2D游戏制作——角色制作
  17. Unity 判断是否为预制体的根节点
  18. LDA: 从头到尾彻底理解LDA (Latent Dirichlet Allocation)
  19. classList属性配合内置方法add()、remove()、toggle(),添加或删除某个类,以此改变CSS样式
  20. ASP.NET Core 装X利器SignalR:电子画板

热门文章

  1. ffmpeg怎么样处理网络流
  2. ASP.NET服务器对于请求的处理过程
  3. node.js如何制作命令行工具(一)
  4. MYSQL 碎片查询
  5. Python 对象的绑定方法
  6. BZOJ 3160: 万径人踪灭 [fft manacher]
  7. Unity3D 之武器系统冷却功能的实现方式
  8. Linux内存使用消耗高
  9. leetcode讲解--937. Reorder Log Files
  10. Postfix邮件服务系统