Mare 是一个Lua5.3调试器。简单说,就是像JavaScript一样调试Lua。
简介基本原理是根据云风博客文章如何优雅的实现一个lua调试器,使用文章里所说的C调试模块,实现一个DebugVM,内建一个客户端把数据发出去,由服务器翻译成 ChromeDebuggingProtocol,然后就可以直接用Chrome浏览器内建的 DevTools 来做交互调试了。
脑洞其实来自Facebook的 Stetho,使用DevTools来调试Android。
特性本项目仍然处于早期开发阶段,遇到坑务必淡定
已实现的
远程调试模型,Lua模块,服务端,图形界面可以跑在不同系统上
数据对象审查功能,支持循环引用,非字符串key,metatable查看,调用栈查看
断点调试,按行号,按函数call/return,按探测点名,带黑名单
单步执行,标准三件套StepOver、StepInto、StepOut
查看中断变量数据,栈、local和upvalue
按条件中断,Watch表达式,调试上下文REPL
源码交互,项目目录树,代码高亮,日志和函数源码定位
计划中的
打包MacOS版本,因为不能在Linux服务器上交叉编译
支持Android/apk,iOS/ipa,因为不能直接访问文件系统,需要自己实现loader
VSCode、Atom插件,理论上拿JavaScript来改改就行了
中断时,展开变量时,按需获取数据,现在只是限制数据量的快照
调试模块参数可配置,某些地方还是硬编码
完善前端管理页面,会话管理页面还是原始
国际化,现在注释和文档还是用中文
各种优化,各种测试,各种文档,各种重构
兼容性下面的环境测试过基本可用,只要编译时选择Lua5.3解析器
ejoy2d 游戏引擎框架
fcitx Linux小企鹅输入法
love2d 游戏引擎框架
nmap 网络扫描器
torch 机器学习框架
vim 文本编辑器
简介来自项目主页
评论