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

开源lua调试器

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

支持调试纯脚本以及调试嵌入方式使用的lua脚本, 仅仅为远程调试(socket通讯)。
类似GDB的使用方式。


项目地址:http://code.google.com/p/ldb/

详细文档地址:这里    - 最新更新

它是什么:

是一个lua 的远程调试器。

使用平台:

Windows 与 Linux

简略的说明:

文件lxdebug.lua为被调试者

文件ldbclient.lua为调试者

适用场合、范围:

    1. 被调试端是纯脚本。 此时切记在脚本最开始执行的地方如此写:
local ldb = require"lxdebug"

ldb.debug_pure_lua() --此函数在lxdebug.lua里定义,切记先明白何时调用何种接口。 参数为端口。若不指定,则端口为0xdeb。端口被占用则会无法启动,并有错误日志。

2. 被调用者存在逻辑帧的概念。(可以理解为间隔比较小的时间,比如数百ms之内, 会重复进入某个函数)。 此时最好别用纯脚本的调试接口,因为他不支持高速模式。所谓高速模式:当存在逻辑帧概念的时候,会根据断点有效情况等,来决定是否hook行事件,若无断 点,则其额外开销极小,就是在逻辑帧函数中做一下检测,而不是执行每行时都检测下。使用方法如下:
初始化的文件中:
local ldb = require"lxdebug"

ldb.startdebug_use_loopfunc()--可以传入端口;默认为0xdeb

在逻辑帧执行的函数中执行如下函数: ldb.debug_runonce()

当要停止当前的调试行为或者要清除,则调用: ldb.stopdebug()

注意:

若在win下跑调试者,则有个问题注意下。 若当前系统控制台为本地编码,而远端被调试者脚本代码为utf8编码,那么l以及其他会显示文件内容的命令会为乱码。 若在Linux下跑调试者,因为linux终端默认(大多数吧)就是utf8,这样也要注意,远端脚本存utf8比较好。 具体看使用者。  

鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Lua 表的排序,table.sort应用发布时间:2022-07-22
下一篇:
使用eclipse并加上python,lua,go,perl插件; 在eclipse LDT(Ko ...发布时间: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