SimpleLuaDebugger = {} function SimpleLuaDebugger.Trace(event, line) local s = debug.getinfo(2).short_src local name = debug.getinfo(2).name name = name and ' ( function '..name..' )' or '' if not s:match('%[string') then return end SimpleLuaDebugger.DebugLabel.Caption = "Last line executed: "..line..name end function SimpleLuaDebugger:Init() self.frmLuaTableScript = getMainForm().frmAutoInject self.frmLuaTableScriptPanel1OnResizeOLD = self.frmLuaTableScript.Panel1.OnResize self.debugOnOffFlag = false self.Button = self.frmLuaTableScript.Button1 self.Button.AutoSize = true self.DebugLabel = createLabel(self.frmLuaTableScript.Panel1) self.DebugLabel.AutoSize = true self.DebugLabel.Caption = "Lua debug: disabled" self.DebugButton = createButton(self.frmLuaTableScript.Panel1) self.DebugButton.AutoSize = true self.DebugButton.Caption = "Find faulty line" self.DebugButton.Height = self.Button.Height self.frmLuaTableScript.Panel1.OnResize = function (sender) self.frmLuaTableScriptPanel1OnResizeOLD(sender) self.Button.Left = self.Button.Left - 140 self.DebugButton.Top = self.Button.Top self.DebugButton.Left = self.Button.Left + 120 self.DebugLabel.Top = self.Button.Top + 4 self.DebugLabel.Left = self.Button.Left + 250 end self.DebugButton.OnClick = function () self.debugOnOffFlag = not self.debugOnOffFlag if self.debugOnOffFlag then debug.sethook(SimpleLuaDebugger.Trace, "l") self.DebugLabel.Caption = "Lua debug: enabled" else debug.sethook() self.DebugLabel.Caption = "Lua debug: disabled" end end self.frmLuaTableScript.Panel1.OnResize() end SimpleLuaDebugger:Init() --[=[ --Example-- RequiredCEVersion=6.3 if (getCEVersion==nil) or (getCEVersion()