Giter Site home page Giter Site logo

emmyluadebugger's Introduction

EmmyLuaDebugger

OS CI status
MAC & Linux Build Status
Windows Build status

emmyluadebugger's People

Contributors

asarium avatar cppcxy avatar jayatubi avatar littleangel0309 avatar tangzx avatar tonyemu avatar zhangjiequan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

emmyluadebugger's Issues

跨文件调用断点无效问题!

有两个文件:
a.lua 入口文件:
package.cpath = package.cpath .. '/opt/docker_devops/pt/openresty/lualib/?.so'
dbg = require('emmy_core')
dbg.tcpConnect('10.254.254.1', 9966)
local a = 1111
local papi = require('papi')
local b = papi.sync() ---调用b文件方法
print(b)

b.lua 文件:
local test = {}
function test.sync()
dbg.breakHere()
local data = 1234
return data
end
return test

运行环境: openresy,web请求到a入口文件,测试发现跨文件无法断点到b文件。

再次测试: 以lua.exe脚本方式执行到a入口文件,测试发现能正常断点到b文件。

反馈:openresty等web服务类似的机制,是否不支持目前的debug?????

各位大佬能否完善一下!!

模板类型推断问题

`---@Class A
local A = {
a = 1,
aa = 2
}

---@Class B
local B = {
}

---@Generic T : B
---@param base? T
---@return T
function A:GetBB(base)
end

local x = A:GetBB()
local y = A:GetBB(B)
`
如上代码,期望倒数第二行x的类型推断为B,实际推断为T

__serialize metamethod for custom debug data

mobdebug uses the metamethod __serialize to allow returning of custom data when debugging. This is very useful for inspecting values returned from closures:

local function buildGreeter(name)
    local mt = {
        __serialize = function(t)
            return {
                name = name,
                greeting = t.sayHello()
            }
        end
    }
    local Greeter = {}
    function Greeter.sayHello()
        return "Hello, "..name
    end
    return setmetatable(Greeter, mt)
end
local greeter = buildGreeter("Emmy")
print(greeter.sayHello())

mobdebug would show me:

{
  greeting = "Hello, Emmy",
  name = "Emmy"
}

EmmyLuaDebugger gives me:

{
  sayHello = {function}
}

Using __serialize for backward compatibility would be great, but any functionality that achieves this end would very useful.

Unable to Debug Custom Kong plugin inside Docker container

I am attempting to enable remote debugging of my custom Kong plugin, which is developed in Lua language inside the Pongo framework. To achieve this, I've integrated the EmyLuaDebugger plugin for IntelliJ IDEA and added the necessary debug code inside my Lua script. Additionally, I have exposed the ports for remote debugging from within the Docker container and included the emmy_core.so file inside the container.

However, I am encountering an issue where the debugger successfully connects but then immediately disconnects. Consequently, the breakpoint is not triggered, and I am unable to debug the code effectively. I discovered in a blog post that this behavior might be due to the path not being correctly resolved inside the Docker container.

Expected Behavior:
The debugger should connect successfully, stop at the breakpoints set in the Lua code, and allow for effective debugging of the custom Kong plugin.

Actual Behavior:
The debugger connects but immediately disconnects, and breakpoints are not triggered.

Additional Information:

  • I have followed the blog post Debugging Lua and learned that the fixPath function might be necessary to handle path mapping inside the Docker container.
  • I attempted to implement the fixPath function, but I am unsure about the correct way to do it for my specific Docker setup.
  • I am using the EmyLuaDebugger plugin with IntelliJ IDEA for remote debugging.

Any assistance in resolving this issue and properly setting up the fixPath function would be greatly appreciated.

cc: @CppCXY

windows 上编译错误

我正在把这个库集成到 xmake-repo 仓库,但是 windows 上有点问题

xmake-io/xmake-repo#2495

然后 windows 版本编译带 lua 源码,链接不过。。

/usr/local/bin/cmake -DEMMY_USE_LUA_SOURCE=ON -DEMMY_LUA_VERSION=54 -DCMAKE_BUILD_TYPE=Release -DC
MAKE_INSTALL_PREFIX=/Users/ruki/.xmake/packages/e/emmylua_debugger/1.6.2/5ac9d51f3ee84cc7b5f692eef
acc4ac1 -DCMAKE_INSTALL_LIBDIR:PATH=lib -G "Unix Makefiles" -DCMAKE_POSITION_INDEPENDENT_CODE=ON /
Users/ruki/.xmake/cache/packages/2308/e/emmylua_debugger/1.6.2/source

我看 link 了,"..\third-party\lua-5.4.0\Release\lua54.lib"

       Link:
         C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\link.exe /ERRORREPORT:QUEUE /OUT:"C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\Release\emmy_core.dll" /INCREMENTAL:NO /NOLOGO ..\emmy_debugger\Release\emmy_debugger.lib "..\third-party\lua-5.4.0\Release\lua54.lib" "..\third-party\libuv-1.29.0\Release\uv_a.lib" advapi32.lib iphlpapi.lib psapi.lib shell32.lib user32.lib userenv.lib ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:"C:/Users/runneradmin/AppData/Local/.xmake/cache/packages/2308/e/emmylua_debugger/1.6.2/source/build_a7aa4ee1/emmy_core/Release/emmy_core.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/Users/runneradmin/AppData/Local/.xmake/cache/packages/2308/e/emmylua_debugger/1.6.2/source/build_a7aa4ee1/emmy_core/Release/emmy_core.lib" /MACHINE:X64  /machine:x64 /DLL emmy_core.dir\Release\emmy_core.obj
            Creating library C:/Users/runneradmin/AppData/Local/.xmake/cache/packages/2308/e/emmylua_debugger/1.6.2/source/build_a7aa4ee1/emmy_core/Release/emmy_core.lib and object C:/Users/runneradmin/AppData/Local/.xmake/cache/packages/2308/e/emmylua_debugger/1.6.2/source/build_a7aa4ee1/emmy_core/Release/emmy_core.exp
    21>emmy_debugger.lib(emmy_debugger_manager.obj) : error LNK2001: unresolved external symbol __imp_lua_settop [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_core.obj : error LNK2001: unresolved external symbol __imp_lua_settop [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_debugger.lib(emmy_debugger_lib.obj) : error LNK2001: unresolved external symbol __imp_lua_settop [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_debugger.lib(extension_point.obj) : error LNK2001: unresolved external symbol __imp_lua_settop [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_debugger.lib(emmy_debugger.obj) : error LNK2001: unresolved external symbol __imp_lua_settop [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_core.obj : error LNK2019: unresolved external symbol __imp_lua_pushvalue referenced in function luaopen_emmy_core [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_debugger.lib(emmy_debugger_lib.obj) : error LNK2001: unresolved external symbol __imp_lua_pushvalue [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_debugger.lib(extension_point.obj) : error LNK2001: unresolved external symbol __imp_lua_pushvalue [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_debugger.lib(emmy_debugger.obj) : error LNK2001: unresolved external symbol __imp_lua_pushvalue [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_debugger.lib(emmy_debugger.obj) : error LNK2001: unresolved external symbol __imp_lua_pushstring [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_core.obj : error LNK2001: unresolved external symbol __imp_lua_pushstring [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_debugger.lib(emmy_debugger_lib.obj) : error LNK2001: unresolved external symbol __imp_lua_pushstring [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_debugger.lib(emmy_facade.obj) : error LNK2001: unresolved external symbol __imp_lua_pushstring [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_debugger.lib(extension_point.obj) : error LNK2001: unresolved external symbol __imp_lua_pushstring [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_core.obj : error LNK2019: unresolved external symbol __imp_lua_rawgeti referenced in function luaopen_emmy_core [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_debugger.lib(extension_point.obj) : error LNK2001: unresolved external symbol __imp_lua_rawgeti [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_core.obj : error LNK2019: unresolved external symbol __imp_lua_createtable referenced in function luaopen_emmy_core [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_debugger.lib(emmy_debugger_lib.obj) : error LNK2001: unresolved external symbol __imp_lua_createtable [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_debugger.lib(extension_point.obj) : error LNK2001: unresolved external symbol __imp_lua_createtable [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_debugger.lib(emmy_debugger.obj) : error LNK2001: unresolved external symbol __imp_lua_createtable [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_core.obj : error LNK2019: unresolved external symbol __imp_lua_rawset referenced in function luaopen_emmy_core [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_debugger.lib(extension_point.obj) : error LNK2001: unresolved external symbol __imp_lua_rawset [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]
    21>emmy_core.obj : error LNK2019: unresolved external symbol __imp_luaL_setfuncs referenced in function luaopen_emmy_core [C:\Users\runneradmin\AppData\Local\.xmake\cache\packages\2308\e\emmylua_debugger\1.6.2\source\build_a7aa4ee1\emmy_core\emmy_core.vcxproj]

https://github.com/xmake-io/xmake-repo/actions/runs/5965497990/job/16183068683?pr=2495

nullptr crash in ejoy2d lua debug

ejoy2d lua调试。不论使用vscode插件调试还是idea插件调试都是直接crash。好像ejoy2d使用的是32位的lua,不知道是不是这个原因。ejoy2d 我用的是github最新的那个,os是win10 64.

取消Suspend execution导致阻塞

在调试中取消断点的Suspend execution后,进入断点时仍会在对应位置阻塞,但ide由于未勾选阻塞选项,因此状态仍未执行中,无法恢复执行,只能断开调试来恢复运行。

为什么 OnAddBreakPointReq 会先 RemoveAll

void EmmyFacade::OnAddBreakPointReq(const rapidjson::Document& document) {
	if (document.HasMember("clear")) {
		const auto all = document["clear"].GetBool();
		if (all) {
			Debugger::Get()->RemoveAllBreakpoints();
		}
	}
       .....

为什么 OnAddBreakPointReq 会先 RemoveAll ? vscode 下会发生只有一个 breakpoint 起作用的情况。

idea 附加调试下变量显示bug

最新版本的idea ,emmylua,emmylua attach,emmylua unity 插件。
在附加调试下,当_ENV 存在叫self的变量时,在函数内部对self 变量的悬浮提示为外部_ENV下的self。在监视表达式下正常。在vscode 下正常
J6N@G`CQLJR@1_9VO8{HT5J

xlua下调试cpath 未起作用会是什么原因呢

package.cpath = package.cpath .. ';/Users/xxx/Library/Application Support/IdeaIC2019.2/EmmyLua/classes/debugger/emmy/mac/?.so'
local dbg = require('emmy_core')
dbg.tcpListen('localhost', 9966)

LuaException: c# exception in LoadFromCustomLoaders:System.IO.FileNotFoundException: Could not find file "xxx/Lua/emmy_core.lua"

是因为存customLoader吗

emmlua Stop后无法再次启用

Environment(环境)

name version
IDEA version [e.g. IC2018.2 EAP, CL2018.1.2] IDEA 2020.2.3
EmmyLua version [e.g. v1.3.4.157-IDEA202] v1.3.4.157-IDEA202
OS [e.g. Windows 10] Windows 10

What are the steps to reproduce this issue?(重现步骤?)

  1. …dbg.tcpListen('localhost', 9966) 开启后正常
  2. …使用 dbg.stop() 关闭后,再次使用 dbg.tcpListen() 就无法开启,从netstat发现并没有开启listen socket

What happens?(出现什么问题?)

What were you expecting to happen?(期望?)

Any logs, error output, etc?(有没有什么log, error输出?)

(If it’s long, please paste to https://ghostbin.com/ and insert the link here.)

Any other comments?(其它说明)

在两次pcall调用后的代码step over变为step into

我们写如下这样一个函数,使用两层pcall调用:

function test1()
    local a = 1
    local b = 2
end

function test2()
    local x = 1;
    test1()
    local y = 2
end

function test3()
    pcall(test2)
end

pcall(test3)

断点打在test2()函数中,在使用step over功能时,会进入到test0函数
之所以发现这个问题是因为我们使用 Lua Busted作为单元测试的工具,但是在调试测试用例的时候无法进行单步调试。

Lua版本:
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
操作系统:
13.0.1 (22A400) M1 arm
Emmy版本
[EMMY] version: 1.4.1

编译选项的优化

我在windows下编译,只有编译lua54,且不勾选EMMY_USE_LUA_SOURCE的情况下才能勾选成功。在使用lua51或者luajit的情况下直接无论哪种情况都失败了。

attempt to index local 'dbg' (a boolean value)

Tried using the new debugger copied the code, and seems that require('emmy_core') results in true and not an object.

package.cpath = package.cpath .. ';C:/Users/emelrad12/AppData/Roaming/JetBrains/IntelliJIdea2020.3/plugins/intellij-emmylua/classes/debugger/emmy/windows/x64/?.dll'
local dbg = require('emmy_core')
dbg.tcpConnect('localhost', 9966) --Here error

Debuger does not stop on specific breakpoint

Hello.

I try to use debug in InlelliJIdea. Looks like it works, but with some issues, if i set the breakpoint on the specific line and start local Debug, the debuger engine starts from the first code line.

Follow I try to use remote debug for nginx. InlelliJIdea says that session connected, but does not stop on breakpoint.

I think that the source of problem is the question - why debuger does not go to the specific breakpoint directly? I tried different versions of InlelliJIdea 2018 and 2019. The same behavior.

luajit加载emmy_core问题

想问一下require(emmy_core)返回true,并没有注册函数,这会是什么原因导致的呢。是编译luajit需要一些特别的设置吗

关于新版修改LuaError 这处问题

环境: mac osx & xlua
EmmyFacade::TcpListen这个方法mac上没有办法调试 这个先不说
问题:EmmyFacade::TcpConnect方法最近新改的添加了一个连接出错后然后报一个luaerror 调用。 这里如果ide不开开启debug然后就会一个error

int LuaError(lua_State* L) {
	std::string msg = lua_tostring(L, 1);
	msg = "[Emmy]" + msg;
	lua_getglobal(L, "error");
	lua_pushstring(L, msg.c_str());
	lua_call(L, 1, 0);
	return 0;
}

然后unity启动就不能向下运行了, 因为ide很多情况下不会一直开着的debug的,所以想问这里是不是可以直接改成打印 然后不影响程序向下运行。如下

const auto suc = c->Connect(host, port, err);
	if (suc) {
		WaitIDE(true);
	} else {
		lua_pushcfunction(L, LuaPrint);
		lua_pushstring(L, err.c_str());
		lua_call(L, 1, 0);
	}

顺便问下 ide里面直接打断点现在是不是不能用,现在只能用强制 breakHere()方法来打断点调试。

invalid key to 'next'报错

emmy_debugger.cpp 450行左右,会在lua_next遍历表的过程中对一个LUA_TNUMBER的key执行lua_tostring操作,但是我看lua官方手册这种操作会引起报错,我这边碰见这个报错就会导致断点失效了。

Emmy Debugger(New) breakpoints don't work when reconnected debugger

Environment(环境)

name version
IDEA version 2019.3
EmmyLua version 1.3.0.134
OS Windows 10

What are the steps to reproduce this issue?(重现步骤?)

  1. connected
  2. disconnected
  3. connected

What happens?(出现什么问题?)

breakpoints don‘t work

What were you expecting to happen?(期望?)

Any logs, error output, etc?(有没有什么log, error输出?)

(If it’s long, please paste to https://ghostbin.com/ and insert the link here.)

Any other comments?(其它说明)

watch窗口不能展开一个table

image
我在尝试用这个插件调试其它的lua虚拟机的代码,但是发现watch窗口不能展开一个table查看table里面的内容,但是table的size以及直接用index查看table内部的值都是正常的,想问下这个可能是什么原因。

跨文件无法断点!

有两个文件:
a.lua 入口文件:
package.cpath = package.cpath .. 'openresty/lualib/?.so'
dbg = require('emmy_core')
dbg.tcpConnect('10.254.254.1', 9966)
local a = 1111
local test = require('b')
local b = test.sync() ---调用b文件方法
print(b)

b.lua 文件:
local test = {}
function test.sync()
dbg.breakHere()
local data = 1234
return data
end
return test

运行环境: openresy,web请求到a入口文件,测试发现跨文件无法断点到b文件。

再次测试: 以lua.exe脚本方式执行到a入口文件,测试发现能正常断点到b文件。

反馈:openresty等web服务类似的机制,是否不支持目前的debug?????

各位大佬能否完善一下!!

能不能加一个等待时间参数

在Debugger connect IDE模式下
如果IDE没有开启 直接启动程序
则会卡顿一段时间才会继续执行
这个时间能不能自己配置
时间过了自动放弃连接IDE

无法编译lua51的问题

在使用use_source的lua51版本的时候发现emmy_hook中定义了_lua_pcallk,但这个只会在lua5.2之后出现lua51和luajit均会失败。

跨文件无法断点!

有两个文件:
a.lua 入口文件:
package.cpath = package.cpath .. '/openresty/lualib/?.so'
dbg = require('emmy_core')
dbg.tcpConnect('10.254.254.1', 9966)
local a = 1111
local test = require('b')
local data = test.sync() ---调用b文件方法
print(data)

b.lua 文件:
local b = {}
function b.sync()
dbg.breakHere()
local data = 1234
return data
end
return b

运行环境: openresy,web请求到a入口文件,测试发现跨文件无法断点到b文件。

再次测试: 以lua.exe脚本方式执行到a入口文件,测试发现能正常断点到b文件。

反馈:openresty等web服务类似的机制,是否不支持目前的debug?????

各位大佬能否完善一下!!

lua_Debug 这个结构体lua5.1和其他版本不一致,建议进行版本修改

lua5.1
struct lua_Debug {
int event;
const char name; / (n) */
const char namewhat; / (n) global', local', field', method' */
const char what; / (S) Lua', C', main', tail' */
const char source; / (S) /
int currentline; /
(l) /
int nups; /
(u) number of upvalues /
int linedefined; /
(S) /
int lastlinedefined; /
(S) /
char short_src[LUA_IDSIZE]; /
(S) /
/
private part /
int i_ci; /
active function */
};

lua5.2
struct lua_Debug {
int event;
const char name; / (n) */
const char namewhat; / (n) 'global', 'local', 'field', 'method' */
const char what; / (S) 'Lua', 'C', 'main', 'tail' */
const char source; / (S) /
int currentline; /
(l) /
int linedefined; /
(S) /
int lastlinedefined; /
(S) /
unsigned char nups; /
(u) number of upvalues /
unsigned char nparams;/
(u) number of parameters /
char isvararg; /
(u) /
char istailcall; /
(t) /
char short_src[LUA_IDSIZE]; /
(S) /
/
private part */
struct CallInfo i_ci; / active function */
};

lua5.3

struct lua_Debug {
int event;
const char name; / (n) */
const char namewhat; / (n) 'global', 'local', 'field', 'method' */
const char what; / (S) 'Lua', 'C', 'main', 'tail' */
const char source; / (S) /
int currentline; /
(l) /
int linedefined; /
(S) /
int lastlinedefined; /
(S) /
unsigned char nups; /
(u) number of upvalues /
unsigned char nparams;/
(u) number of parameters /
char isvararg; /
(u) /
char istailcall; /
(t) /
char short_src[LUA_IDSIZE]; /
(S) /
/
private part */
struct CallInfo i_ci; / active function */
};

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.