[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: How to comprehend that lua_Hook is called when it jumps back in the code(This event only happens while Lua is executing a Lua function?
- From: 孙世龙 sunshilong <sunshilong369@...>
- Date: Tue, 15 Dec 2020 20:45:56 +0800
As per the documentation(https://www.lua.org/manual/5.3/manual.html#lua_sethook),
which says [empasise mine]:
Argument f is the hook function. mask specifies on which events the
hook will be called: it is formed by a bitwise OR of the constants
LUA_MASKCALL, LUA_MASKRET, LUA_MASKLINE, and LUA_MASKCOUNT. The count
argument is only meaningful when the mask includes LUA_MASKCOUNT. For
each event, the hook is called as explained below:
The call hook: is called when the interpreter calls a function. The
hook is called just after Lua enters the new function, before the
function gets its arguments.
The return hook: is called when the interpreter returns from a
function. The hook is called just before Lua leaves the function.
There is no standard way to access the values to be returned by the
function.
The line hook: is called when the interpreter is about to start the execution
of a new line of code, or when it jumps back in the code (even to the
same line).
^^^^^^^^^^^^^^^^^^^^^^
(This event only happens while Lua is executing a Lua function.)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
How to comprehend that lua_Hook is called when it jumps back in the
code(This event only happens while Lua is executing a Lua function?