支援除錯純指令碼以及除錯嵌入方式使用的lua指令碼, 僅僅為遠端除錯(socket通訊)。
類似gdb的使用方式。
它是什麼:
是乙個lua 的遠端偵錯程式。
使用平台:
windows 與 linux
簡略的說明:
檔案lxdebug.lua為被除錯者
檔案ldbclient.lua為除錯者
適用場合、範圍:
被除錯端是純指令碼。 此時切記在指令碼最開始執行的地方如此寫:
local ldb = require"lxdebug"
ldb.debug_pure_lua() --此函式在lxdebug.lua裡定義,切記先明白何時呼叫何種介面。 引數為埠。若不指定,則埠為0xdeb。埠被占用則會無法啟動,並有錯誤日誌。
2.被呼叫者存在邏輯幀的概念。(可以理解為間隔比較小的時間,比如數百ms之內, 會重複進入某個函式)。
此時最好別用純指令碼的除錯介面,因為他不支援高速模式。所謂高速模式:當存在邏輯幀概念的時候,會根據斷點有效情況等,來決定是否hook行事件,若無斷
點,則其額外開銷極小,就是在邏輯幀函式中做一下檢測,而不是執行每行時都檢測下。使用方法如下:
初始化的檔案中:
local ldb = require"lxdebug"
ldb.startdebug_use_loopfunc()--可以傳入埠;預設為0xdeb
在邏輯幀執行的函式中執行如下函式: ldb.debug_runonce()
當要停止當前的除錯行為或者要清除,則呼叫: ldb.stopdebug()
注意:若在win下跑除錯者,則有個問題注意下。
若當前系統控制台為本地編碼,而遠端被除錯者指令碼**為utf8編碼,那麼l以及其他會顯示檔案內容的命令會為亂碼。
若在linux下跑除錯者,因為linux終端預設(大多數吧)就是utf8,這樣也要注意,遠端指令碼存utf8比較好。 具體看使用者。
Intellij Idea編輯除錯Lua
intellij idea編輯除錯lua 之前我整理了關於intellij idea以及emmylua外掛程式除錯unity的相關資料 在學習lua的過程中,想驗證下學習過程中的猜想,最好支援斷點除錯這些,所以去研究了一下intellij idea單獨寫lua程式的方式。僅在網上找到兩篇相關的文章 ...
使用luastudio,除錯 lua配置
本來打算用vscode 外掛程式的方式,發現很難用,果斷棄坑了。打算使用luastudio 1.安裝 luastudio 2.新建lua工程,類似vs 的.sln 3.然後開啟lua工程資料夾。目標程式,就是宿主程式。命令引數,就是宿主程式的相關啟動引數 工作目錄,就是宿主程式所在目錄 4.執行宿主...
lua開發和除錯環境
lua for windows.exe 佔二十多mb那個 目前在網路上沒有找到 5.3的版本,只有舊的5.1版本 以lua5.3以例,在windows上僅需要最簡單的三個檔案 luac.exe lua53.dll lua.exe 把這三個檔案放在d lua53,把這個目錄配置到環境變數下,在此目錄下...