授权协议: MIT
操作系统: 跨平台
收录时间: 2017-03-18
提 交 者: 局长

Mare 是一个 Lua 5.3 调试器。简单说,就是像 JavaScript 一样调试 Lua。

简介

基本原理是根据云风博客文章如何优雅的实现一个 lua 调试器,使用文章里所说的 C 调试模块,实现一个 Debug VM,内建一个客户端把数据发出去,由服务器翻译成 Chrome Debugging Protocol,然后就可以直接用 Chrome 浏览器内建的 DevTools 来做交互调试了。

脑洞其实来自 Facebook 的 Stetho,使用 DevTools 来调试 Android。

特性

本项目仍然处于早期开发阶段,遇到坑务必淡定

已实现的

  • 远程调试模型,Lua 模块,服务端,图形界面可以跑在不同系统上

  • 数据对象审查功能,支持循环引用,非字符串 key,metatable 查看,调用栈查看

  • 断点调试,按行号,按函数 call/return,按探测点名,带黑名单

  • 单步执行,标准三件套 Step Over、Step Into、Step Out

  • 查看中断变量数据,栈、local 和 upvalue

  • 按条件中断,Watch 表达式,调试上下文 REPL

  • 源码交互,项目目录树,代码高亮,日志和函数源码定位

计划中的

  • 打包 MacOS 版本,因为不能在 Linux 服务器上交叉编译

  • 支持 Android/apk,iOS/ipa,因为不能直接访问文件系统,需要自己实现 loader

  • VSCode、Atom 插件,理论上拿 JavaScript 来改改就行了

  • 中断时,展开变量时,按需获取数据,现在只是限制数据量的快照

  • 调试模块参数可配置,某些地方还是硬编码

  • 完善前端管理页面,会话管理页面还是原始

  • 国际化,现在注释和文档还是用中文

  • 各种优化,各种测试,各种文档,各种重构

兼容性

下面的环境测试过基本可用,只要编译时选择 Lua 5.3 解析器

  • ejoy2d 游戏引擎框架

  • fcitx Linux 小企鹅输入法

  • love2d 游戏引擎框架

  • nmap 网络扫描器

  • torch 机器学习框架

  • vim 文本编辑器

简介来自项目主页

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

Mare 的相关资讯

还没有任何资讯

Mare 的相关博客

何时使用lambda,何时使用Proc.new?

在Ruby 1.8中,proc / lambda与Proc.new之间存在细微差别。 这些差异是什么? 你能给出如何决定选择哪一个的指导方针吗? 在R...

常见的动物单词汇总

动物类英语单词大全 horse 马 mare 母马 colt,foal 马驹,小马 pony 矮马 thoroughbred 纯种马 mustang 野马 hippopotamus河马...

100个中国成语的英文版

01 爱屋及乌 Love me, love my dog. 02 百闻不如一见 One look is worth a thousand words. Seeing is believing. 03 比上不足...

分析在各大考纲词汇中既没有词根也没有前缀和后缀的独立单词

CET4、CET6、GRE、IELTS、TOEFL、考研英语总的词汇量为14055,有11544个单词含有词根信息,有5526个单词含有前缀信息,有952...

英语单词音近形似转化规律研究

英语对我们搞IT的人来说实在太重要了,你还在为记不住英语单词而苦恼吗?还在为看不懂thinking in java而伤神吗?看看我最近的...

1208个合成词

CET4、CET6、GRE、IELTS、TOEFL、考研英语总的词汇量为14055,在这些词中,有1208个合成词。合成词也称复合词,顾名思义,就是...

Mare 的相关问答

还没有任何问答,马上提问

评论 (4)

加载中
666
2018/04/23 14:36
回复
举报
看域名楼主是简悦的?先在github star下,有空再看看
2017/04/03 14:04
回复
举报
脑洞略大
2017/04/03 09:28
回复
举报
赞一个 能支持luajit吗?
2017/04/03 08:42
回复
举报
更多评论
4 评论
66 收藏
分享
在线直播报名
返回顶部
顶部