Esempio n. 1
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);
            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);
        }
Esempio n. 2
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);
        }
Esempio n. 3
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);
        }
Esempio n. 4
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);
        }
Esempio n. 5
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);
        }