Hi Jan, > I will be eagerly waiting for an update on this, then :D Almost done with the prototype. > Does the debugging still work if something tries to access and/or change the > Lua state from C++ (which happens frequently in our program)? It would be > slightly counter-productive if the C++ side would crash the program one frame > after debugging starts by trying to set a Lua value. I don't see why not, although I haven't tested situations when the debugger itself is interrupted and some changes are done to the VM that is being debugged. Note that the debugging is using debug hook functionality in Lua and during the hook execution all other hooks are disabled. > What happens when there are numerous Lua states, all running on different > threads (which also happens in our program)? For example a graphics thread > with Lua-scripted UI, a gameplay thread with Lua-scripted gameplay, etc.. There is no support for debugging of multiple Lua VMs from the same instance of the IDE, although you can configure different instances to handle different requests (by using different port numbers); see this section in the FAQ: http://studio.zerobrane.com/doc-faq.html#how-do-i-start-two-zerobrane-studio-instances-to-debug-two-applications-at-the-same-time You can send multiple debugging requests to the same instance of ZBS and all except the first one will be rejected, so it may be better to pick one of the threads (or VMs) you want to debug and to start debugging only for that thread/VM. > Does the usage of LuaJIT make any difference here (we use it for obvious > performance reasons)? No. In fact jit is disabled for the debugging to work based on Mike Pall's recommendation. > And if we would need to spend months on that feature, the time would probably > be better spent on something else. After all, Lua already has fine error > messages that are actually helpful. Most of the time, anyway. Agree, that's your call; without knowing more about your setup I can't say how much time it may take, but in general it's not too complex to make it work for a multi VM environment. Maybe someone else will want to comment... Paul.