Lua開源:mare - 像 JavaScript 一樣調試 Lua
簡介
基本原理是根據云風博客文章如何優雅的實現一個 lua 調試器,使用文章里所說的 C 調試模塊,實現一個 Debug VM,內建一個客戶端把數據發出去,由服務器翻譯成 Chrome Debugging Protocol,然后就可以直接用 Chrome 瀏覽器內建的 DevTools 來做交互調試了。
腦洞其實來自 非死book 的 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 解析器
許可證
MIT
項目主頁:http://www.baiduhome.net/lib/view/home/1489799229111
本文由用戶 FatChifley 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!