lua 远程调试 【zeroBrane 使用mobdebug】
来源:互联网 发布:一年级毕业季网络直播 编辑:程序博客网 时间:2024/05/17 07:44
最近基于业务需求,学习了如何使用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")
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 () endprint("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.*.*);
- lua 远程调试 【zeroBrane 使用mobdebug】
- ZeroBrane Studio远程调试Lua程序
- 如何使用ZeroBrane Studio远程调试Cocos2d-x的Lua脚本
- 如何使用ZEROBRANE STUDIO远程调试COCOS2D-X的LUA脚本
- MAC 下使用zerobrane调试cocos2dx的lua
- 如何使用ZeroBrane Studio 调试cocos2dx-Lua代码
- Mac 使用 ZeroBrane Studio 开发lua
- lua调试?自带的调试库?zerobrane studio?
- windows端加密程序,lua代码,ZeroBrane调试
- 轻量级Lua IDE ZeroBrane Studio 的使用技巧和汉化
- lua IDE ZeroBrane Studio配置
- lua遍历文件夹, zerobrane下载
- 使用 ZeroBrane Studio 和 Eclipse LDT 断点调试 quick-cocos2d-x
- 使用 ZeroBrane Studio 和 Eclipse LDT 断点调试 quick-cocos2d-x
- 使用gdbserver远程调试
- 使用gdbserver远程调试
- 使用gdbserver远程调试
- 使用gdbserver远程调试
- 极大似然估计,最大后验概率估计(MAP),贝叶斯估计
- 带缓存的io与不带缓存的io
- php 常用函数(一)
- github初步学习
- 过滤器(filter)和拦截器(interceptor)区别
- lua 远程调试 【zeroBrane 使用mobdebug】
- C#使用Unity框架
- 物联网技术周报第31期:Linux基金会宣布微内核项目Zephyr
- 句柄 HANDLE
- uvaoj-136:ugly number
- Android am start 参数详解
- 请求数据返回值不能解析
- assertThat用法
- 【Java学习笔记】继承和多态