一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Lua - Lua內置的調試器用法詳解

Lua內置的調試器用法詳解

2020-05-04 12:33腳本之家 Lua

這篇文章主要介紹了Lua內置的調試器用法,在編程debug操作中非常有用,要的朋友可以參考下

 Lua提供了一個調試庫,它提供了所有的基本功能,創造自己的調試器。即便如此,也沒有內置的Lua調試器,Lua為開發者創建很多調試器是開源。

調試Lua庫中可用的功能列于下表連同它的用途。

Lua內置的調試器用法詳解

Lua內置的調試器用法詳解

 上面列表中的Lua調試功能的完整列表,我們經常使用,使用上述功能,并提供了更方便的調試庫。使用這些函數和創建自己的調試器是相當復雜,不是最好的選擇的。無論如何,我們將看到使用簡單的調試功能的例子。

 

復制代碼 代碼如下:
function myfunction ()
print(debug.traceback("Stack trace"))
print(debug.getinfo(1))
print("Stack trace end")
 return 10
end
myfunction ()
print(debug.getinfo(1))

 

當我們運行上面的程序,會得到堆棧跟蹤信息,如下圖所示。

 

復制代碼 代碼如下:
Stack trace
stack traceback:
 test2.lua:2: in function 'myfunction'
 test2.lua:8: in main chunk
 [C]: ?
table: 0054C6C8
Stack trace end

 

在上面的示例程序中,堆棧跟蹤是通過使用調試庫中可用debug.trace功能打印。debug.getinfo得到函數的當前表。
另外一個例子

我們經常會需要知道一個函數的局部變量而進行調試。為此可以使用setupvalue設置并使用getupvalue獲取這些局部變量、。一個簡單的例子對本如下所示。

 

復制代碼 代碼如下:
function newCounter ()
  local n = 0
  local k = 0
  return function ()
    k = n
    n = n + 1
    return n
    end
end

 

counter = newCounter ()
print(counter())
print(counter())

local i = 1

repeat
  name, val = debug.getupvalue(counter, i)
  if name then
    print ("index", i, name, "=", val)
 if(name == "n") then
  debug.setupvalue (counter,2,10)
 end
    i = i + 1
  end -- if
until not name

print(counter())

 

當我們運行上面的程序,會得到下面的輸出。

 

復制代碼 代碼如下:
1
2
index 1 k = 1
index 2 n = 2
11

 

在這個例子中,每次計數器更新當它被調用??梢允褂胓etupvalue函數獲取局部變量的當前狀態。然后將局部變量的設置新值。這里,n設定為2在操作被調用之前。使用setupvalue函數更新為10,當調用計數器功能,它會返回11,而不是3。
調試類型

  •     命令行調試
  •     圖形化調試

命令行調試

命令行調試是使用命令行用命令和打印報表進行調試的調試類型。有這幾個下面列出許多Lua可用的命令行調試器。

  •     RemDebug: RemDebug是一個遠程調試器在Lua5.0和5.1。它可以遠程控制另一個Lua程序執行,設置斷點和檢查程序的當前狀態。 RemDebug也可以調試CGILua腳本。
  •     clidebugger: lua5.1的一個簡單命令行界面調試程序用純Lua編寫。它不依賴于任何其他比標準的Lua5.1庫。它是從RemDebug啟發,但不具有其遠端設備。
  •     ctrace:  一種工具,跟蹤Lua的API調用。
  •     xdbLua: Windows平臺的一個簡單Lua命令行調試器。
  •     LuaInterface - Debugger: 本項目為擴展LuaInterface調試器。它提出了建立在Lua調試接口到一個更高的水平。與調試器的交互是通過事件和方法調用完成。
  •     Rldb: 這是通過套接字的遠程LUA調試器,適用于Windows和Linux。它可以給你比任何現有的更多的功能。
  •     ModDebug: 這使得可以遠程控制其它Lua程序的執行,設置斷點,并檢查程序的當前狀態。

圖形化調試

圖形化調試提供有IDE提供了各種狀態,如變量值,堆棧跟蹤信息和其他相關信息的可視化調試。有一種視覺表示,一步執行了斷點的幫助下步控制,步入,跳過和其他按鈕在IDE中。

有圖形化Lua調試器的數量,它包括以下內容。

  •     SciTE: 默認Windows IDE中的Lua提供了多種調試工具,如斷點,一步,一步進入,跳過,查看變量等。
  •     Decoda: 這是一個支持圖形化調試器遠程調試。
  •     ZeroBrane Studio: Lua的IDE集成了遠程調試器,堆棧視圖,表視圖,遠程控制臺,靜態分析器等。工程與LuaJIT,Love2d,Moai,和其他的Lua引擎。 在Windows,OSX和Linux并且開源。
  •     akdebugger: Lua的Eclipse插件-調試器和編輯器。
  •     luaedit: 此功能遠程調試,本地調試,語法高亮,自動完成建議列表,參數命題引擎,推進斷點管理(包括斷點空調系統和命中數),函數列表,全局變量和局部變量列表,查看,解決問題為導向的管理

延伸 · 閱讀

精彩推薦
  • LuaLua中計算、執行字符串中Lua代碼的方法

    Lua中計算、執行字符串中Lua代碼的方法

    這篇文章主要介紹了Lua中計算、執行字符串中Lua代碼的方法,類似JavaScript中eval函數的功能,在Lua中也可以實現,需要的朋友可以參考下 ...

    腳本之家6322020-04-30
  • LuaLua教程(二):基礎知識、類型與值介紹

    Lua教程(二):基礎知識、類型與值介紹

    這篇文章主要介紹了Lua教程(二):基礎知識、類型與值介紹,本文講解了Hello World程序、代碼規范、全局變量、類型與值等內容,需要的朋友可以參考下 ...

    腳本之家5922020-04-28
  • LuaLua簡介、編譯安裝教程及變量等語法介紹

    Lua簡介、編譯安裝教程及變量等語法介紹

    這篇文章主要介紹了Lua簡介、編譯安裝教程及變量等語法介紹,本文同時講解了lua注釋語法、Lua命令行方式等內容,需要的朋友可以參考下 ...

    junjie3632020-04-14
  • LuaLua和C語言的交互詳解

    Lua和C語言的交互詳解

    這篇文章主要介紹了Lua和C語言的交互詳解,Lua和C語言通過棧完成交互,本文結合代碼實例詳細講解了交互的方法,需要的朋友可以參考下 ...

    果凍想3702020-04-14
  • LuaLua中的元方法__newindex詳解

    Lua中的元方法__newindex詳解

    這篇文章主要介紹了Lua中的元方法__newindex詳解,本文講解了查詢與更新、監控賦值、通過table給另一個table賦值等內容,需要的朋友可以參考下 ...

    笨木頭8872020-04-09
  • LuaLua中table庫函數方法介紹

    Lua中table庫函數方法介紹

    這篇文章主要介紹了Lua中table庫函數方法介紹,本文講解了concat、insert、maxn、remove、sort、foreachi等方法,需要的朋友可以參考下 ...

    腳本之家2502020-04-17
  • Lua深入探究Lua中的解析表達式

    深入探究Lua中的解析表達式

    這篇文章主要介紹了深入探究Lua中的解析表達式,對于其語法部分的說明和示例都超詳細,極力推薦此文!需要的朋友可以參考下 ...

    腳本之家3542020-05-05
  • LuaLua實現__add方法重載示例

    Lua實現__add方法重載示例

    這篇文章主要介紹了Lua實現__add方法重載示例,本文直接給出實現代碼,需要的朋友可以參考下 ...

    腳本之家7452020-04-24
主站蜘蛛池模板: 日本激情网 | 91精品国产高清久久久久久io | 236z最新伦理 | 4hu永久地域网名入口 | 80日本xxxxxxxxx| 久久99r66热这里只有精品 | 好大好硬好深好爽想要小雪 | 国色天香社区在线视频免费观看 | 美国高清xxxxx18 | 牛人国产偷窥女洗浴在线观看 | 精品高潮呻吟99AV无码视频 | 亚洲视频在线观看地址 | 国产精品自在线拍 | 日本人妖视频 | 北海市副市长黄江老公 | 亚洲国产成人久久综合一区 | 成全动漫视频在线观看 | 国产成人精品高清免费 | 欧美精品黑人巨大在线播放 | 天干夜天天夜天干天ww | 日本网络视频www色高清免费 | 日韩福利一区 | 特色特色大片在线 | 青草视频网站在线观看 | 成人在线视频播放 | 久久aa毛片免费播放嗯啊 | 人与善xuanwen在线400 | 91制片厂果冻传媒首页 | 富士av105| 精品久久久久久国产91 | 丝袜兔女郎被啪在线观看91 | 精品国产91久久久久久久a | 日韩亚洲人成在线综合 | 精品国产一区二区三区久久影院 | 第四色男人天堂 | 午夜影院免费体验 | 美女靠逼免费网站 | 成人看的羞羞视频免费观看 | 日韩国产欧美精品综合二区 | 99精品久久99久久久久久 | 婷婷激情综合五月天 |