|
@@ -1,4 +1,4 @@
|
|
|
-% $Id: manual.tex,v 1.58 2002/08/09 21:03:19 roberto Exp roberto $
|
|
|
+% $Id: manual.tex,v 1.59 2002/08/12 17:43:35 roberto Exp roberto $
|
|
|
|
|
|
\documentclass[11pt,twoside,draft]{article}
|
|
|
\usepackage{fullpage}
|
|
@@ -133,7 +133,7 @@ Waldemar Celes
|
|
|
\tecgraf\ --- Computer Science Department --- PUC-Rio
|
|
|
}
|
|
|
|
|
|
-%\date{{\small \tt\$Date: 2002/08/09 21:03:19 $ $}}
|
|
|
+%\date{{\small \tt\$Date: 2002/08/12 17:43:35 $ $}}
|
|
|
|
|
|
\maketitle
|
|
|
|
|
@@ -3863,23 +3863,21 @@ to create a file with the same name.
|
|
|
|
|
|
The library \verb|ldblib| provides
|
|
|
the functionality of the debug interface to Lua programs.
|
|
|
-If you want to use this library,
|
|
|
-your host application must open it,
|
|
|
-by calling \verb|lua_dblibopen|.
|
|
|
-\DefAPI{lua_dblibopen}
|
|
|
-
|
|
|
You should exert great care when using this library.
|
|
|
The functions provided here should be used exclusively for debugging
|
|
|
and similar tasks, such as profiling.
|
|
|
Please resist the temptation to use them as a
|
|
|
usual programming tool:
|
|
|
-They can be \emph{very} slow.
|
|
|
+They can be very slow.
|
|
|
Moreover, \verb|setlocal| and \verb|getlocal|
|
|
|
violate the privacy of local variables,
|
|
|
and therefore can compromise some (otherwise) secure code.
|
|
|
|
|
|
+All functions in this library are provided
|
|
|
+inside a \IndexVerb{debug} table.
|
|
|
+
|
|
|
|
|
|
-\subsubsection*{\ff \T{getinfo (function, [what])}}\DefLIB{getinfo}
|
|
|
+\subsubsection*{\ff \T{debug.getinfo (function, [what])}}\DefLIB{debug.getinfo}
|
|
|
|
|
|
This function returns a table with information about a function.
|
|
|
You can give the function directly,
|
|
@@ -3904,7 +3902,7 @@ and \verb|getinfo(print)| returns a table with all available information
|
|
|
about the \verb|print| function.
|
|
|
|
|
|
|
|
|
-\subsubsection*{\ff \T{getlocal (level, local)}}\DefLIB{getlocal}
|
|
|
+\subsubsection*{\ff \T{debug.getlocal (level, local)}}\DefLIB{debug.getlocal}
|
|
|
|
|
|
This function returns the name and the value of the local variable
|
|
|
with index \verb|local| of the function at level \verb|level| of the stack.
|
|
@@ -3915,7 +3913,8 @@ variable with the given index,
|
|
|
and raises an error when called with a \verb|level| out of range.
|
|
|
(You can call \verb|getinfo| to check whether the level is valid.)
|
|
|
|
|
|
-\subsubsection*{\ff \T{setlocal (level, local, value)}}\DefLIB{setlocal}
|
|
|
+\subsubsection*{\ff \T{debug.setlocal (level, local, value)}}
|
|
|
+\DefLIB{debug.setlocal}
|
|
|
|
|
|
This function assigns the value \verb|value| to the local variable
|
|
|
with index \verb|local| of the function at level \verb|level| of the stack.
|
|
@@ -3924,31 +3923,41 @@ variable with the given index,
|
|
|
and raises an error when called with a \verb|level| out of range.
|
|
|
(You can call \verb|getinfo| to check whether the level is valid.)
|
|
|
|
|
|
-\subsubsection*{\ff \T{setcallhook (hook)}}\DefLIB{setcallhook}
|
|
|
+\subsubsection*{\ff \T{debug.sethook (hook, mask [, count])}}
|
|
|
+\DefLIB{debug.sethook}
|
|
|
|
|
|
-Sets the function \verb|hook| as the call hook;
|
|
|
-this hook will be called every time the interpreter starts and
|
|
|
-exits the execution of a function.
|
|
|
-The only argument to the call hook is the event name (\verb|"call"| or
|
|
|
-\verb|"return"|).
|
|
|
-You can call \verb|getinfo| with level 2 to get more information about
|
|
|
-the function being called or returning
|
|
|
+Sets the given function as a hook.
|
|
|
+The string \verb|mask| and the number \verb|count| describe
|
|
|
+when the hook will be called.
|
|
|
+The string mask may have the following characteres,
|
|
|
+with the given meaning:
|
|
|
+\begin{description}
|
|
|
+\item[{\tt "c"}] The hook is called every time Lua calls a function;
|
|
|
+\item[{\tt "r"}] The hook is called every time Lua returns from a function;
|
|
|
+\item[{\tt "l"}] The hook is called every time Lua enters a new line of code.
|
|
|
+\end{description}
|
|
|
+With a \verb|count| different from zero,
|
|
|
+the hook is called after every \verb|count| instructions.
|
|
|
+
|
|
|
+When called without arguments,
|
|
|
+the \verb|debug.sethook| function turns off the hook.
|
|
|
+
|
|
|
+When the hook is called, its first parameter is always a string
|
|
|
+describing the event that triggered its call:
|
|
|
+\verb|"call"|, \verb|"return"|, \verb|"line"|, and \verb|"count"|.
|
|
|
+Moreover, for line events,
|
|
|
+it also gets as its second parameter the new line number.
|
|
|
+Inside a hook,
|
|
|
+you can call \verb|getinfo| with level 2 to get more information about
|
|
|
+the running function
|
|
|
(level~0 is the \verb|getinfo| function,
|
|
|
and level~1 is the hook function).
|
|
|
-When called without arguments,
|
|
|
-this function turns off call hooks.
|
|
|
-\verb|setcallhook| returns the old call hook.
|
|
|
|
|
|
-\subsubsection*{\ff \T{setlinehook (hook)}}\DefLIB{setlinehook}
|
|
|
+\subsubsection*{\ff \T{debug.gethook ()}}\DefLIB{debug.gethook}
|
|
|
|
|
|
-Sets the function \verb|hook| as the line hook;
|
|
|
-this hook will be called every time the interpreter changes
|
|
|
-the line of code it is executing.
|
|
|
-The only argument to the line hook is the line number the interpreter
|
|
|
-is about to execute.
|
|
|
-When called without arguments,
|
|
|
-this function turns off line hooks.
|
|
|
-\verb|setlinehook| returns the old line hook.
|
|
|
+Returns the current hook settings, as three values:
|
|
|
+the current hook function, the current hook mask,
|
|
|
+and the current hook count (as set by the \verb|debug.sethook| function).
|
|
|
|
|
|
|
|
|
%------------------------------------------------------------------------------
|
|
@@ -4052,38 +4061,38 @@ specially the head of the group, Marcelo Gattass.
|
|
|
At the risk of omitting several names,
|
|
|
we also thank the following individuals for supporting,
|
|
|
contributing to, and spreading the word about Lua:
|
|
|
-Mark Ian Barlow,
|
|
|
-John Belmonte,
|
|
|
-Renato Borges,
|
|
|
-Carlos Cassino,
|
|
|
-Renato Cerqueira,
|
|
|
+Alan Watson.
|
|
|
Andr\'e Clinio,
|
|
|
Andr\'e Costa,
|
|
|
-Steve Dekorte,
|
|
|
-Jon Erickson,
|
|
|
-Tom\'as Gorham,
|
|
|
-Stephan Herrmann,
|
|
|
-Erik Hougaard,
|
|
|
-David Jeske,
|
|
|
-Jon Kleiser,
|
|
|
+Antonio Scuri,
|
|
|
+Bret Mogilefsky,
|
|
|
Cameron Laird,
|
|
|
+Carlos Cassino,
|
|
|
Carlos Henrique Levy,
|
|
|
-Philippe Lhost,
|
|
|
+Claudio Terra,
|
|
|
+David Jeske,
|
|
|
+Edgar Toernig,
|
|
|
+Erik Hougaard,
|
|
|
Jim Mathies,
|
|
|
-Bret Mogilefsky,
|
|
|
+John Belmonte,
|
|
|
John Passaniti,
|
|
|
-Vincent Penquerc'h,
|
|
|
+John Roll,
|
|
|
+Jon Erickson,
|
|
|
+Jon Kleiser,
|
|
|
+Mark Ian Barlow,
|
|
|
+Nick Trout,
|
|
|
+Noemi Rodriguez,
|
|
|
Norman Ramsey,
|
|
|
+Philippe Lhost,
|
|
|
Renata Ratton,
|
|
|
-Noemi Rodriguez,
|
|
|
-John Roll,
|
|
|
-Antonio Scuri,
|
|
|
-Claudio Terra,
|
|
|
+Renato Borges,
|
|
|
+Renato Cerqueira,
|
|
|
Reuben Thomas,
|
|
|
-Edgar Toernig,
|
|
|
-Nick Trout,
|
|
|
+Stephan Herrmann,
|
|
|
+Steve Dekorte,
|
|
|
Thatcher Ulrich,
|
|
|
-Alan Watson.
|
|
|
+Tom\'as Gorham,
|
|
|
+Vincent Penquerc'h,
|
|
|
Thank you!
|
|
|
|
|
|
|