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编程
转载于:https://www.cnblogs.com/softidea/p/5281068.html
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 ...
- Idea SpringBoot 基于 Docker容器环境进行远程调试
远程服务环境要求 对启动的jar服务命令进行修改,改成远程调试模式启动 eg: java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspen ...
- pycharm配置远程调试docker
20210923 pycharm 运行远程解释器 20210915 远程调试确认配置 第一步如果事先没有配置ssh,可以选下面新建ssh 还有另一种调试方法:使用pycharm-debug包调试 详情 ...
- pycharm连接远程服务器并进行代码上传+远程调试
Pycharm连接远程服务器并进行代码上传+远程调试 </h1><div class="clear"></div><div class=& ...
- NetBeans配置Xdebug 远程调试PHP
很多PHP程序员使用echo,dump等比较原始的方法调试,这是非常落后的. 几年前本人写过一篇: NetBeans配置Xdebug 由于那篇文档还需要引用本人写的其他文档,感觉有些分散,所以这里重新 ...
- 【GDB】gdbserver的使用,远程调试开发板
0.将gdbserver拷贝到目标板子上 注:gdbserver在交叉编译工具目录/debug-root/usr/bin下 可用file命令查看 --------------------------- ...
- visual studio asmx 调试_通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序...
最近两天在Linux中调试.NET Core应用程序,同时我发现在Linux中调试.NET Core应用程序并不容易.一直习惯在Visual Studio中进行编码和调试.现在我想的是可以简单快速的测 ...
- 【转载】pycharm远程调试配置
pycharm远程调试配置https://www.cnblogs.com/liangjiongyao/p/8794324.html
- Linux下Debug模式启动Tomcat进行远程调试
J2EE开发各类资源下载清单, 史上最全IT资源,点击进入! 一. 应用场景 在实际的测试过程中,可能会遇到由于程序执行的不间断性,我们无法构造测试场景来验证某个功能的正确性,只有通过代码 ...
- 惊呆了!Spring Boot 还能远程调试?
目录 前言 什么是远程调试? 为什么要远程调试? 什么是JPDA? 如何开启远程调试? transport server suspend address onthrow onuncaught laun ...
最新文章
- ES6数组的解构赋值( 中)
- Intellij IDEA打开就闪退或关闭
- Swift实现Touch ID验证
- MQTT+ActiveMQ实现消息推送
- 大学生计算机实验基础考试,大学生计算机基础考试题库完整(56页)-原创力文档...
- 家谱(信息学奥赛一本通-T1388)
- Python笔记(1) Python简介
- html背景无法载入gif图像,background-image:url(XXXX.gif)为何不显示背景图片_html/css_WEB-ITnose...
- Linux下读写UART串口的代码
- re模块和正则表达式
- 深入理解计算机系统总结
- 很全的C51库函数(IIC类)(IIC、EEPROM、ADXL、PCF、HMC、L3G、BMP)
- 《VP9 Video Codec》Overview
- \t\t健康生活:20个健康小细节隐藏大危害!
- stormzhang Android 学习之路
- 三、Unity2D游戏制作——角色制作
- Unity 判断是否为预制体的根节点
- LDA: 从头到尾彻底理解LDA (Latent Dirichlet Allocation)
- classList属性配合内置方法add()、remove()、toggle(),添加或删除某个类,以此改变CSS样式
- ASP.NET Core 装X利器SignalR:电子画板