Lua 提供了 debug 庫用于提供創(chuàng)建我們自定義調(diào)速器的功能。Lua 本身并未有內(nèi)置的調(diào)速器,但很多開發(fā)者共享了他們的 Lua 調(diào)速器代碼。
Lua 中 debug 庫包含以下函數(shù):
sethook ([thread,] hook, mask [, count]):
上表列出了我們常用的調(diào)試函數(shù),接下來我們可以看些簡單的例子:
執(zhí)行以上代碼輸出結(jié)果為:
在以實(shí)例中,我們使用到了 debug 庫的 traceback 和 getinfo 函數(shù), getinfo 函數(shù)用于返回函數(shù)信息的表。
另一個(gè)實(shí)例
我們經(jīng)常需要調(diào)試函數(shù)的內(nèi)的局部變量。我們可以使用 getupvalue 函數(shù)來設(shè)置這些局部變量。實(shí)例如下:
執(zhí)行以上代碼輸出結(jié)果為:
在以上實(shí)例中,計(jì)數(shù)器在每次調(diào)用時(shí)都會(huì)自增1。實(shí)例中我們使用了 getupvalue 函數(shù)查看局部變量的當(dāng)前狀態(tài)。我們可以設(shè)置局部變量為新值。實(shí)例中,在設(shè)置前 n 的值為 2,使用 setupvalue 函數(shù)將其設(shè)置為 10。現(xiàn)在我們調(diào)用函數(shù),執(zhí)行后輸出為 11 而不是 3。
調(diào)試類型
命令行調(diào)試
圖形界面調(diào)試
命令行調(diào)試器有:RemDebug、clidebugger、ctrace、xdbLua、LuaInterface - Debugger、Rldb、ModDebug。
圖形界調(diào)試器有:SciTE、Decoda、ZeroBrane Studio、akdebugger、luaedit。
內(nèi)容來自:runoob.com 菜鳥教程
整理:極動(dòng)云,寧波家電物聯(lián)網(wǎng)云平臺(tái)
CONTACT US: http://www.iot-jd.com