Lua调试器工作原理

时光总嘲笑我的痴心妄想 提交于 2020-02-10 16:46:25

lua本身提供了回调机制,就是说当某事件产生时去调用指定的函数

事件类型:
#define LUA_MASKCALL (1 << LUA_HOOKCALL)
#define LUA_MASKRET (1 << LUA_HOOKRET)
#define LUA_MASKLINE (1 << LUA_HOOKLINE)
#define LUA_MASKCOUNT (1 << LUA_HOOKCOUNT)

 

由于断点是基于行来指定的,所以调试器基于 LUA_MASKLINE 来做,就是每运行一行代码都会调用指定的回调函数

在回调函数中取得当前运行的文件及行数,与指定的断点进行比较。

当与断点一致时,表示命中断点,暂停lua执行。

参考:lua调试器思路

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!