cocos2d-x開發包中內置了lua,而且也內置了tolua++,提供了lua對C++的支持.在官網下載的開發包中的sample就包含了
lua的實例.如何去調試項目中的lua代碼呢? 今天的主題就是在cocos2d-x中調試lua代碼.
有兩個工具可以選擇,一個簡單點,一個復雜點.
1. Decoda(商用,需要收費,而且很貴,不過有好心人分享了破解版)
2. LuaEdit(開源)
我的意思不是在評價這兩個debug工具,而是采用兩種工具使用的方式難易.
還是先說說簡單容易操作的方式吧.這個不需要改動代碼.(Decoda)
我是在window上面編譯的HelloLua sample,工具就是VS2010. debug模式編譯.這個就不用多說了吧.生成的文件在Debug.win32
目錄下面,而且包含了很多的鏈接庫文件.
啟動Decoda,在Debug選項中選擇Start Debugging[F5],需要做的就是在Commad選項中選擇執行debug的文件的絕對路徑.

下面就開始debug,但是會提示一個錯誤:

很清晰,在cocos2d-x的后台輸出了,提示我們找不到hello.lua文件.當然也是找不到hello2.lua文件的.
這個是因為路徑的問題,我沒有配置vs,導致編譯后生成的文件不是在當前項目的文件夾下,所以找不到lua文件,那就到HelloLua sample
文件夾下面將Resource文件夾下面的文件都拷貝到當前目錄就可以了.然后再執行debug就可以看到游戲畫面了.注意查看當前后台輸出
信息,是正常的,這個需要確認.
注意現在還沒有插入斷點,所以關閉現在的debug,然后再lua文件中插入斷點再重復執行剛才的操作就可以實現debug了.

我只是假設性的隨便添加了一個watch target,結果可以看上圖.
在Decoda的文件包中有使用文檔,E文的,簡明的教程.Decoda有兩種使用方式,而我只是簡單介紹了注入宿主程序的方式,沒有介紹attack
宿主進程的方式,可以去參考文檔.
2 復雜的方式是使用LuaEdit進行調試.LuaEdit提供了Remote debug模式,不過你在調試的時候需要在宿主機上面開啟remote debugger.
LuaEdit提供了編程需要的文件和庫,需要按照官網文檔的方式做.

不好意思了,這個也不用翻譯了,大家都看得懂.
說了那么多都是在windows上面debug的方式,但是這些軟件在linux上面都不可以使用. 不知道在linux下面有沒有這樣方便
的軟件.實在不行只能自己動手了.
