public static int errorReport(IntPtr L) { s.Length = 0; LuaDLL.lua_getglobal(L, "debug"); LuaDLL.lua_getfield(L, -1, "traceback"); LuaDLL.lua_pushvalue(L, 1); LuaDLL.lua_pushnumber(L, 2); LuaDLL.lua_call(L, 2, 1); LuaDLL.lua_remove(L, -2); s.Append(LuaDLL.lua_tostring(L, -1)); LuaDLL.lua_pop(L, 1); LuaState state = LuaState.get(L); state.dumpstack.push(L); LuaDLL.lua_call(L, 0, 1); s.Append("\n"); s.Append(LuaDLL.lua_tostring(L, -1)); LuaDLL.lua_pop(L, 1); string str = s.ToString(); Logger.LogError(str, true); if (state.errorDelegate != null) { state.errorDelegate(str); } return(0); }
public static int errorReport(IntPtr L) { LuaDLL.lua_getglobal(L, "debug"); LuaDLL.lua_getfield(L, -1, "traceback"); LuaDLL.lua_pushvalue(L, 1); LuaDLL.lua_pushnumber(L, 2); LuaDLL.lua_call(L, 2, 1); LuaDLL.lua_remove(L, -2); string error = LuaDLL.lua_tostring(L, -1); LuaDLL.lua_pop(L, 1); Logger.LogError(error, true); LuaState state = LuaState.get(L); if (state.errorDelegate != null) { state.errorDelegate(error); } LuaDLL.lua_getglobal(L, "dumpstack"); LuaDLL.lua_call(L, 0, 0); return(0); }
public static int errorReport(IntPtr L) { s.Length = 0; /*LuaDLL.lua_getglobal(L, "debug"); * LuaDLL.lua_getfield(L, -1, "traceback"); * LuaDLL.lua_pushvalue(L, 1); * LuaDLL.lua_pushnumber(L, 2); * LuaDLL.lua_call(L, 2, 1); * LuaDLL.lua_remove(L, -2); */ LuaDLL.lua_getglobal(L, "error_modify_msg"); //... msg, error_modify_msg LuaDLL.lua_pushvalue(L, 1); //... msg, error_modify_msg, msg if (LuaDLL.lua_pcall(L, 1, 1, 0) != 0) //... msg, error_msg { Debug.LogError("call error_modify_msg failed!!" + LuaDLL.lua_tostring(L, -1)); //LuaDLL.lua_pop(L, 1); } s.Append(LuaDLL.lua_tostring(L, -1)); //... msg, error_msg LuaDLL.lua_pop(L, 1); //... msg #if UNITY_EDITOR Boolean show_err = (PlayerPrefs.GetInt("show_err_editor", 1) == 1); if (show_err) #endif { #if !COC_PUBLISH LuaState.get(L).no_error = false; LuaState.get(L).error_msg = s.ToString(); #endif } Debug.LogError(s.ToString()); s.Length = 0; LuaState state = LuaState.get(L); state.dumpstack.push(L); if (LuaDLL.lua_pcall(L, 0, 1, 0) != 0) { Debug.LogError("call dumpstack failed!!" + LuaDLL.lua_tostring(L, -1)); } //s.Append("\n"); s.Append(LuaDLL.lua_tostring(L, -1)); LuaDLL.lua_pop(L, 1); string str = s.ToString(); //Logger.LogError(str, true); Debug.LogError(str); if (state.errorDelegate != null) { state.errorDelegate(str); } return(0); }
internal static int printerror(IntPtr L) { int n = LuaDLL.lua_gettop(L); string str = stackString(L, n); Logger.LogError(str, true); LuaState state = LuaState.get(L); if (state.errorDelegate != null) { state.errorDelegate(s.ToString()); } LuaDLL.lua_settop(L, n); return(0); }
internal static int printerror(IntPtr L) { int n = LuaDLL.lua_gettop(L); s.Length = 0; LuaDLL.lua_getglobal(L, "tostring"); for (int i = 1; i <= n; i++) { if (i > 1) { s.Append(" "); } LuaDLL.lua_pushvalue(L, -1); LuaDLL.lua_pushvalue(L, i); LuaDLL.lua_call(L, 1, 1); s.Append(LuaDLL.lua_tostring(L, -1)); LuaDLL.lua_pop(L, 1); } LuaDLL.lua_settop(L, n); LuaDLL.lua_getglobal(L, "debug"); LuaDLL.lua_getfield(L, -1, "traceback"); LuaDLL.lua_call(L, 0, 1); s.Append("\n"); s.Append(LuaDLL.lua_tostring(L, -1)); LuaDLL.lua_pop(L, 1); Logger.LogError(s.ToString(), true); LuaState state = LuaState.get(L); if (state.errorDelegate != null) { state.errorDelegate(s.ToString()); } return(0); }