Lua 简易调试
1.使用如下方式封装c++的控制台输出方法并导出给lua使用,可以使lua输出信息以绿色显示:
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole,FOREGROUND_GREEN | FOREGROUND_INTENSITY);
(CCLOG输出一行信息)
SetConsoleTextAttribute(hConsole, 7);
同理,对c++调用的控制台输出方法也进行颜色统一的封装,可以使控制台输出更为明显,方便调试。
2.输出lua堆栈可以用如下方式:
function my_stack_print(...) print(...) print("---------------------------") for level = 2, math.huge do local level_info = debug.getinfo(level,'Sln') -- 没有数据了就终止 if not level_info then break; end for k,v in pairs(level_info) do if (k == 'name' or k == 'currentline' or k =='short_src') and v ~= nil then local str = string.format('%s:%s',tostring(k),tostring(v)) print(str) end end print("---------------------------") end end