-
Notifications
You must be signed in to change notification settings - Fork 96
如何开始调试
fesily edited this page Mar 1, 2022
·
9 revisions
首先请在你的lua代码里添加
require "luadebug" : start "127.0.0.1:4980" : event "wait"
luadebug.lua 这个文件是作者在example文件夹下里面提供的,当然你也可以直接调用真实的debugger.lua.
在我的机器是上路径是/Users/apple/.vscode/extensions/actboy168.lua-debug-1.53.0/script/debugger.lua
actboy168.lua-debug-1.53.0的后缀会随着版本号的变化而变化 /Users/apple/这个文件夹是我电脑上目录
在windows下请自行搜索vscode插件的安装文件夹
现象如下:lua程序和调试器都打开了,连不上.查看调试器的日志,会发现端口占用.
原因如下:lua这边通过listen端口,调试器连接端口进行通信.绝大多数情况下都是ok的.原因看这个macos-so-reuseaddr-so-reuseport-not-consistent-with-linux
建议使用unix通信,这样不会导致这个问题出现.windows下windows8以后支持unix通信,可用性自行测试
原来是
require "luadebug" : start "127.0.0.1:4980" : event "wait"
路径名可以随便改,程序有这个文件的创建和访问权限就行.改成
require "luadebug" : start "@/apisix/debug.sock" : event "wait"
相应的在vscode的调试文件launch.json中
{
"name": "附加到特权进程",
"type": "lua",
"request": "attach",
"stopOnEntry": true,
"address": "127.0.0.1:4980"
}
改成
{
"name": "附加到特权进程",
"type": "lua",
"request": "attach",
"stopOnEntry": true,
"address": "@/apisix/debug.sock"
}