使用 MobDebug 进行远程调试
设置 MobDebug,并连接 ZeroBrane Studio 调试正在运行的脚本。
使用 MobDebug 进行远程调试 是 CoddyKit 上的免费 Lua Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Lua Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Lua Academy 课程共包含 4 节课。
什么是 MobDebug
MobDebug 是 Lua 的远程调试器。借助它,您可以在 ZeroBrane Studio 等集成开发环境中,为正在运行的 Lua 程序设置断点、单步执行代码并检查变量。
安装 MobDebug
通过 LuaRocks 安装:luarocks install mobdebug。或者将 mobdebug.lua 复制到项目中。
启动调试服务器
在脚本的入口点添加 require("mobdebug").start()。这会连接到正在 localhost:8172 上等待的调试器集成开发环境。
-- myapp.lua
require("mobdebug").start() -- connect to IDE
-- ... rest of your code ...设置 ZeroBrane Studio
打开 ZeroBrane Studio,设置项目目录,并启动调试服务器(项目 → 启动调试服务器)。然后运行脚本,它会在进入时暂停。
断点
在集成开发环境中点击行号栏即可设置断点。当脚本执行到该行时会暂停,您可以检查变量。
单步执行
使用越过单步执行(F10)执行下一行而不进入函数调用。使用进入单步执行(F11)进入被调用的函数。使用跳出单步执行(Shift+F11)运行,直到当前函数返回。
检查变量
ZeroBrane 的监视面板会显示当前断点处的局部变量及其值。您还可以在控制台中交互式地计算 Lua 表达式。
条件断点
在代码中使用 require("mobdebug").pause() 创建程序化断点。该断点只有在被显式调用时才会触发。
if someCondition then
require("mobdebug").pause() -- pause only on condition
end通过网络进行远程调试
要调试远程计算机上的脚本:require("mobdebug").start("192.168.1.100", 8172),连接到运行在该 IP 地址上的集成开发环境。
调试协程
MobDebug 可以跟踪进入协程的执行过程。在协程主体中设置断点,协程恢复时调试器就会在那里暂停。
局限性
MobDebug 会增加开销。请勿在生产环境中使用。在阻止 require 或套接字访问的沙箱环境中无法工作。
MobDebug 问题
require("mobdebug").start() 会执行什么操作?
回顾:使用 MobDebug 进行远程调试
MobDebug 支持从 ZeroBrane Studio 设置断点、单步调试和检查变量。在入口处添加 require("mobdebug").start()。使用 .pause() 设置条件断点。不应在生产环境中使用。
常见问题解答
「使用 MobDebug 进行远程调试」课时是免费的吗?
是的 — 「使用 MobDebug 进行远程调试」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Lua Academy 课程的其余内容,请升级到 CoddyKit PRO。 Lua Academy 课程共包含 4 节课。
「使用 MobDebug 进行远程调试」这节课中我会学到什么?
设置 MobDebug,并连接 ZeroBrane Studio 调试正在运行的脚本。 你通过在浏览器中直接运行的动手代码来练习 Lua Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Lua Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Lua Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「使用 MobDebug 进行远程调试」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Lua Academy 课中编写并运行代码吗?
能。每节 Lua Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 深入了解 debug 库
- 使用 MobDebug 进行远程调试
- 使用 LuaProfiler 进行性能分析
- 代码覆盖率和测试检测