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

  

 

你可能感兴趣的:(lua)