2008年時(shí),閑來無事,開始研究Lua Debugger,發(fā)現(xiàn)目前的很多debugger都很簡(jiǎn)單。諸如LuaIDE帶的,只能調(diào)試簡(jiǎn)單腳本,無法掛接到工程項(xiàng)目;LuaPlus的RemoteLuaDebugger寫的倒是不錯(cuò),但是代碼編譯很嚴(yán)重,而且依賴LuaPlus。因此結(jié)合這2個(gè)debugger的優(yōu)點(diǎn)。自己寫出了一套純粹的遠(yuǎn)程調(diào)試Lua調(diào)試器
特性:
1. 基于一套簡(jiǎn)單的網(wǎng)絡(luò)庫(kù),完全的遠(yuǎn)程調(diào)試
2. 調(diào)試客戶端命名為DebugToy,并不為lua專用,以后可以用作調(diào)試任何代碼
3. 如果客戶端沒有代碼,或者沒有指定代碼路徑。自動(dòng)從遠(yuǎn)程服務(wù)器下載后顯示。服務(wù)器可以將這個(gè)作為一個(gè)可選項(xiàng)
4. 基于SCIntilla的編輯器,編寫和查看非常方便,支持語法高亮及斷點(diǎn)等等格式。以后可以擴(kuò)充很強(qiáng)大的功能
5. 調(diào)試快捷鍵與VC相同,支持CallStack,LocalVariable,WatchSymbole及 鼠標(biāo)下Symbol值查看等功能
6. 最重要的一點(diǎn),這個(gè)調(diào)試庫(kù)可以動(dòng)態(tài)載入,并提供給任何C++程序調(diào)試,無論你使用怎樣的lua架構(gòu),都可以使用這個(gè)調(diào)試器進(jìn)入代碼調(diào)試
最近的UI編輯器中使用這個(gè)調(diào)試器解決了很多問題,因此準(zhǔn)備將這個(gè)Debugger功能加強(qiáng),使用C++CLI封裝后,換做C#做界面,并讓調(diào)試lua代碼和C++代碼一樣
這里還有一個(gè)商用的Lua調(diào)試器,寫的還很不錯(cuò)http://www.unknownworlds.com/decoda/