在以实例中,我们使用到了 debug 库的 traceback 和 getinfo 函数, getinfo 函数用于返回函数信息的表。 另一个实例我们经常需要调试函数的内的局部变量。我们可以使用 setupvalue 函数来设置这些局部变量。实例如下:实例 function newCounter () local n = 0 local k = 0 return function () k = n n = n...
5.debug.getlocal ([thread,] f, local): 此函数返回在栈的 f 层处函数的索引为 local 的局部变量 的名字和值。 这个函数不仅用于访问显式定义的局部变量,也包括形参、临时变量等。 6.getmetatable(value): 把给定索引指向的值的元表压入堆栈。如果索引无效,或是这个值没有元表,函数将返回 0 并且不会向...
#define lua_getglobal(L,s) lua_getfield(L, LUA_GLOBALSINDEX, s) lua_getmetatable int lua_getmetatable (lua_State *L, int index); 把给定索引指向的值的元表压入堆栈。如果索引无效,或是这个值没有元表,函数将返回 0 并且不会向栈上压任何东西。 lua_gettable void lua_gettable (lua_State *L...
debug.getlocal([thread,]f,local):此函数返回在栈的f层处函数的索引为local的局部变量的名字和值。这个函数不仅用于访问显式定义的局部变量,也包括形参、临时变量等。 6. getmetatable(value):把给定索引指向的值的元表压入堆栈。如果索引无效,或是这个值没有元表,函数将返回0并且不会向栈上压任何东西。 7....
可以通过setmetatable来设置一个值的元表; 可以通过getmetatable来获取一个值的元表;(元表是一个table) 在Lua中只能设置table的元表,在C中可以设置任何值的元表。 当访问一个table中不存在的字段时,通常会返回nil值;特别的,当这个table的元表有__index元方法时,最终返回结果是__index的返回值。
5.debug.getlocal ([thread,] f, local): 此函数返回在栈的 f 层处函数的索引为 local 的局部变量 的名字和值。 这个函数不仅用于访问显式定义的局部变量,也包括形参、临时变量等。 6.getmetatable(value): 把给定索引指向的值的元表压入堆栈。如果索引无效,或是这个值没有元表,函数将返回 0 并且不会向...
-> function: 0x41cb10error -> function: 0x41c5c0load -> function: 0x41ca00print -> function: 0x41c2e0dofile -> function: 0x41cbd0rawget -> function: 0x41c200type -> function: 0x41be10getmetatable -> function: 0x41cb80module -> funct...
A lua debugger in independent lua VM. Contribute to cloudwu/luadebug development by creating an account on GitHub.
luaL_getmetatable# [-0, +1, –] int luaL_getmetatable (lua_State *L, const char *tname); 将注册表中 tname 对应的元表 (参见 luaL_newmetatable)压栈。 如果没有 tname 对应的元表,则将 nil 压栈并返回假。 luaL_getsubtable# [-0, +1, e] int luaL_getsubtable (lua_State *L, in...