stuartwang
stuartwang
 LuaPanda 把lua取得的变量信息传输过程中都用base64编码了,以免遇到异常字符问题。但是用户使用LuaPanda.printToVSCode打印的没有被编码 这里出现了异常字符,导致消息被错误截断。 最终表现是Vscode端解析消息异常,出现卡死 
描述: 开启同名文件区分后,断点无法命中。除了stopOnEntry,其他断点均无法停止。 感谢 captain🍁 发现并提出问题 原因: 在开启同名文件区分的时候,会导致路径中的 . 被转为 / , 比如下面这个路径,被转换后导致无法命中断点。 逻辑是因为要区分同名文件,所以除了校验文件名 unlua.lua 之外,也要校验路径是否一致。但是处理方式比较简单,把路径中的. 全转为 / 了,导致和断点路径匹配不上 
环境:mac os 10.15 调试器版本: 3.1.0 最近有同学反馈cocos2dx下可以调试,但无法attach连接。我们测试了一下,发现在attach时LuaPanda.lua 文件 reConnect() 函数中 ``` local sockSuccess, status = sock:connect(connectHost, connectPort); ``` 一直是连接失败,提示是参数错误。  但事实上传入的参数是正确的,不知道是否和cocos2dx以及其中集成的luasocket有关,如果有了解的同学欢迎讨论。 --- 具体的复现方法是: 1. 打开日志 LuaPanda.lua 文件头部, consoleLogLevel = 2 修改为...
luapanda是一个lua写的调试器。为了提高运行效率,我把调用热点hook使用C重写了一遍,做成了一个模块。调试器启动时会尝试去找这个模块,如果找到就用,找不到就使用lua hook完成功能。 在开发lua调试器之后我又开发了一个quickjs调试器,其中使用了CDP作为前后端通信协议,直接对接了VScode内建的JavaScript Debugger(商店搜索 `@builtin JavaScript Debugger` 能找到)。框架上也是使用了C hook核心+js逻辑的形态。以下是开发了两个调试器之后的一些想法: + 脚本开发还是比C方便太多了,协议构建,字符串处理,三方库都能大大提升开发效率。 + 关于脚本的性能弱于原生语言,应该用合理的架构去优化,比如调用热点函数写成原生模块。 + CDP协议比较冗余,很多是用于chrome环境下的字段,开发调试器一般自定协议就行。特地使用CDP意义不大。 + CDP协议的时序似乎没有清晰的文档介绍。我在和 vscode JavaScript Debugger 前端对接时被时序折腾了很久(还得看 JavaScript Debugger 插件的源码,还没注释)。 + 所以还是得自己写插件,会稳定很多。我在对接遇 JavaScript Debugger 时遇到过几次vscode一升级,前后端就对不上了(人家是追着适配chrome, 我在后面追着适配它...
之前有接到反馈使用lua5.4时无法建立连接,初步估计是luasocket的问题,查了下luasocket在5.3以后会出现http连接的问题 https://github.com/lunarmodules/luasocket/issues/331 更新luascoekt可以解决此问题,大家可以试下