2019-01-10
2019-01-10 本文已影响0人
garyxuan1992
cocos2dx-lua工程捕获lua错误并弹出错误提示
找到__G__TRACKBACK__方法的定义,一般在main.lua或者init.lua文件中
添加以下代码:
local ffi = require("ffi")
if(ffi and ffi.os == "Windows") then
ffi.cdef[[
int MessageBoxA(void *w, const char *txt, const char *cap, int type);
]]
ffi.C.MessageBoxA(nil, string.format("found lua error. \napplication is stop.\n%s\n%s" , msg, debug.traceback()), "error", 0)
end
当捕获到lua异常的时候会弹出提示框并将程序中断,当你确认过错误之后才能继续运行,这样就不会因为日志太多而错过某些bug了。