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调试器思路
来源:CSDN
作者:起个名字真的好难啊
链接:https://blog.csdn.net/e295166319/article/details/104249021