debug.getinfo

From Garry's Mod
Jump to: navigation, search
 debug.getinfo( )

Contents

Description

Returns debug information about a function.

Arguments

function funcOrStackLevel

Takes either a function or a number representing the stack level as an argument. Stack level 0 always corresponds to the debug.getinfo call, 1 would be the function calling debug.getinfo, and so on.

Returns useful information about that function in a table.

Arguments

string fields="flnSu"

A string whose characters specify the information to be retrieved.

  • f - Populates the func field.
  • l - Populates the currentline field.
  • L - Populates the activelines field.
  • n - Populates the name and namewhat fields - only works if stack level is passed rather than function pointer.
  • S - Populates the location fields (lastlinedefined, linedefined, short_src, source and what).
  • u - Populates the argument and upvalue fields (isvararg, nparams, nups)

Returns

table

A table as a DebugInfo structure containing information about the function you passed. Can return nil if the stack level didn't point to a valid stack frame.

Examples

Example

Let's find out information about net.Receive, such as which file it's defined in, the line it starts and the line it ends, and if it's defined in Lua, or C plus additional information.

PrintTable( debug.getinfo( net.Receive ) )

Output:

[linedefined] 		= 7
[currentline] 		= -1
[func] 			= function: 0x1a8fae90
[isvararg] 		= false
[namewhat] 		=
[lastlinedefined] 	= 11
[source] 		= @lua/includes/modules/net.lua
[nups] 			= 0
[what] 			= Lua
[nparams] 		= 2
[short_src] 		= lua/includes/modules/net.lua
Personal tools
Navigation