關(guān)于Lua調(diào)試器開發(fā)基本思路
作者:佚名
關(guān)于Lua調(diào)試器開發(fā)基本思路是本文要介紹的內(nèi)容,主要是來(lái)學(xué)習(xí)LUA中調(diào)試器的使用,對(duì)于內(nèi)容的實(shí)現(xiàn),來(lái)看本文詳解。
關(guān)于Lua調(diào)試器開發(fā)基本思路是本文要介紹的內(nèi)容,之前由于在游戲的服務(wù)端那要做個(gè)Lua遠(yuǎn)程調(diào)試器供任務(wù)部使用,現(xiàn)在做個(gè)簡(jiǎn)單的介紹.不妨把調(diào)試器的服務(wù)端的類叫CLuaDebug吧!
CLuaDebug初始化:
實(shí)現(xiàn)回調(diào)鉤子函數(shù)
- 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;
- }
- }
設(shè)置鉤子函數(shù):
- lua_sethook(state, CLuaDebug::LuaDebugCallBack, LUA_MASKLINE|LUA_MASKCALL|LUA_MASKRET, 0);
小結(jié):關(guān)于Lua調(diào)試器開發(fā)基本思路的內(nèi)容介紹完了,希望通過(guò)本文的學(xué)習(xí)能對(duì)你有所幫助!
責(zé)任編輯:zhaolei
來(lái)源:
互聯(lián)網(wǎng)