this is the client side for EmmyLua and supported to debug the gopher-lua's lua code
- install EmmyLua for goland/idea/... and learn how to debug lua with this plugin
- go get github.com/edolphin-ydf/gopherlua-debugger
- edit your go.mod, add this line
replace github.com/yuin/gopher-lua => github.com/edolphin-ydf/gopher-lua v0.0.0-20191105142246-92ca436742b9
- in your go code, after
L := lua.NewState()
add a new linelua_debugger.Preload(L)
, of course, you should import gopher-lua-debugger - in your lua code, anywhere you want to start debug/break, add the following line
local dbg = require('emmy_core')
dbg.tcpConnect('localhost', 9966)
the original gopher-lua doesn't implement the debug.hook()
func. the replacement implement it and fix a bug for debug.getlocal().
if the author accepted my patch, the replacement won't need anymore. But you need the replace now!!
this will preload the emmy_core module which support the tcpConnect
, then you can connect to the EmmyLua server to start debug
the EmmyLua provide two ways to start a debug, the ide as a server and the ide as a client. but the gopherlua-debugger only support ide as server, lua instance as client.
issue and pr are welcome