Difference between revisions of "Debug.sethook"

From GiderosMobile
(Created page with "__NOTOC__ '''Available since:''' Gideros 2011.6<br/> === Description === Sets the given function as a hook. The string mask and the number count describe when the hook will be...")
 
Line 16: Line 16:
 
  When the hook is called, its first parameter is a string describing the event that has triggered its call: "call", "return" (or "tail return", when simulating a return from a tail call), "line", and "count". For line events, the hook also gets the new line number as its second parameter. Inside a hook, you can call getinfo with level 2 to get more information about the running function (level 0 is the getinfo function, and level 1 is the hook function), unless the event is "tail return". In this case, Lua is only simulating the return, and a call to getinfo will return invalid data.
 
  When the hook is called, its first parameter is a string describing the event that has triggered its call: "call", "return" (or "tail return", when simulating a return from a tail call), "line", and "count". For line events, the hook also gets the new line number as its second parameter. Inside a hook, you can call getinfo with level 2 to get more information about the running function (level 0 is the getinfo function, and level 1 is the hook function), unless the event is "tail return". In this case, Lua is only simulating the return, and a call to getinfo will return invalid data.
 
<source lang="lua">
 
<source lang="lua">
= debug.sethook(hookmaskcount,)
+
debug.sethook(hook,mask,count)
 
</source>
 
</source>
'''hook:''' (function) function to be executed as hook ''''''<br/>
+
'''hook''': (function) function to be executed as hook ''''''<br/>
'''mask:''' (string) mask of the hook "c", "r" or "l" ''''''<br/>
+
'''mask''': (string) mask of the hook "c", "r" or "l" ''''''<br/>
'''count:''' (number) hook count '''optional'''<br/>
+
'''count''': (number) hook count '''optional'''<br/>

Revision as of 11:17, 23 August 2018

Available since: Gideros 2011.6

Description

Sets the given function as a hook. The string mask and the number count describe when the hook will be called. The string mask may have the following characters, with the given meaning:

"c": the hook is called every time Lua calls a function; "r": the hook is called every time Lua returns from a function; "l": the hook is called every time Lua enters a new line of code.

With a count different from zero, the hook is called after every count instructions. 


When called without arguments, debug.sethook turns off the hook. 


When the hook is called, its first parameter is a string describing the event that has triggered its call: "call", "return" (or "tail return", when simulating a return from a tail call), "line", and "count". For line events, the hook also gets the new line number as its second parameter. Inside a hook, you can call getinfo with level 2 to get more information about the running function (level 0 is the getinfo function, and level 1 is the hook function), unless the event is "tail return". In this case, Lua is only simulating the return, and a call to getinfo will return invalid data.
 debug.sethook(hook,mask,count)

'hook: (function) function to be executed as hook '
'mask: (string) mask of the hook "c", "r" or "l" '
count: (number) hook count optional