• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

lua远程调试【zeroBrane使用mobdebug】(good转)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

最近基于业务需求,学习了如何使用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编程

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
转 LUA语言学习教程发布时间:2022-07-22
下一篇:
Lua学习笔记(二)语法、类型、值发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap