用LuaStudio調試Unity中SLua里的Lua5.3代碼

標題很繞,但挺嚴謹。

寫了一年多Lua,才發現在自己的開發環境中如何斷點調試,網上搜文章沒找到,之前試過luaStduio也沒成功。所以還是分享下這點小發現,也許別人也用得著。

LuaStudio版本v9.61試用版,之後每月15¥,支付寶自動續費,國貨越來越好了,註冊帳號的推薦人id可以寫我 yesbaba 。

LuaStudio | Professional LuaIDE

在unity非play模式下掛到unity編輯器進程上

提示成功,然後開始play。

會看到「內存文件」和「輸出」窗口會顯示出require過的文件,順便發現了哪個數據表載入比較慢。。

在「內存文件」窗口搜縮代碼文件,打開後下斷點

然後就能正常調試啦,堆棧、監視功能都能正常用,看變數,單步執行都沒有問題。

經驗

嘗試過把代碼文件加到luaStudio工程里,對硬碟文件下斷點失敗,只對內存文件成功過,所以luaStudio打開後直接用就行。

因為是對內存文件下斷點所以要遊戲在require代碼之前attach,否則找不到那個內存文件。

unityEditor退出play模式後就停止調試吧,否則影響下一次play後調試,這點比較麻煩,但能忍。

遇到2次把editor搞崩潰的情況,第一次是unity剛啟動就attach到它線程上,掛到ntdll里了,就一層調用棧,play一次再attach就行。第二次是單步調試執行了包含unity log輸出的C#函數,發現超出了棧的上限,不執行log輸出也就好了。作者看到的話願意改就改改這個bug。

可以用於給伺服器代碼下斷點,給導出的pc版下斷點失敗。

其他遠程調試不知道怎麼用。

只用於調試,寫代碼還是在vs里,vs里的背景顏色和插件更合胃口,我還需要在vs里同時搜索c#、客戶端lua、伺服器lua。

----------------------------------------------------------------

最後附帶招聘貼

北京上市遊戲公司招聘客戶端程序員,手機MMO項目,做邏輯功能開發,或渲染、工具、底層框架。

要求編程和數據結構基礎紮實,聰明好學仔細認真,擅長團隊協作,溝通順暢對事不對人,有相關項目經驗或圖形學等特長尤佳。

熟習c++的伺服器lua程序員、技術美術也需要。

公司待遇福利不錯,項目組有很多高手,公司也有技術積累,有意者站內信聯繫。


推薦閱讀:

維基百科中模板和模塊有什麼區別?
公式計算機的另一種實現思路
Lua5.2和5.1有哪些不同?相對與5.1有什麼進步?Lua5.2能用5.1的庫嗎?如果不能,有哪些可用的庫?

TAG:Lua | Unity游戏引擎 | 游戏开发 |