關于Lua調試器開發基本思路
作者:佚名
關于Lua調試器開發基本思路是本文要介紹的內容,主要是來學習LUA中調試器的使用,對于內容的實現,來看本文詳解。
關于Lua調試器開發基本思路是本文要介紹的內容,之前由于在游戲的服務端那要做個Lua遠程調試器供任務部使用,現在做個簡單的介紹.不妨把調試器的服務端的類叫CLuaDebug吧!
CLuaDebug初始化:
實現回調鉤子函數
- static void LuaDebugCallBack(lua_State* L, lua_Debug* ar)
- {
- lua_getinfo( L, "S", ar);
- switch (ar->event)
- {
- case LUA_HOOKRET:
- m_iDeepFunc--;
- break;
- case LUA_HOOKCALL:
- m_iDeepFunc++;
- break;
- case LUA_HOOKLINE:
- string strSource = ar->source + 1;
- ULONG ulLine = ar->currentline;
- //打印變量(全局變量lua_pushvalue(state, LUA_GLOBALSINDEX),堆棧信息(lua_getstack, lua_getinfo(, "nSlf", &d)) , 局部變量(lua_getlocal))
- .... ...
- break;
- defalut:
- break;
- }
- }
設置鉤子函數:
- lua_sethook(state, CLuaDebug::LuaDebugCallBack, LUA_MASKLINE|LUA_MASKCALL|LUA_MASKRET, 0);
小結:關于Lua調試器開發基本思路的內容介紹完了,希望通過本文的學習能對你有所幫助!
責任編輯:zhaolei
來源:
互聯網