來源: http://blog.csdn.net/babestudio/article/details/27228865windows
https://babelua.codeplex.com/releases 主站下載(國外站點,速度較慢,可下載最新源碼)babel
http://pan.baidu.com/s/1sjmC169 國內鏡像(國內較快)session
下載BabeLua最新版本進行覆蓋安裝socket
經過VS菜單【工具】【擴展和更新】打開擴展和更新界面,找到並選中BabeLua插件,在右側顯示了當前安裝的BabeLua版本號。函數
若是啓動VS出現這樣的提示,則須要到【擴展和更新】功能下卸載BabeLua,而後再從新安裝BabeLua便可解決問題。工具
●代碼塊自動完成(如輸入if後自動完成 then else end代碼塊)測試
●附加到進程調試lua
●不支持遠程和真機調試url
不能鏈接到IOS,Android,WP8真機進行調試。.net
BabeLua採用注入宿主程序方式進行調試,能夠不用修改宿主程序代碼或Lua代碼就能調試。不一樣於使用socket通訊進行調試的工具(如ZeroBrane),這些工具能夠實現遠程和真機調試。
●不支持調試64位程序
您能夠在編譯exe文件時將目標平臺設置爲X86(即32位),使用編譯出來的32位程序用來調試。
●不支持內存中的Lua代碼添加斷點
啓動調試後「輸出」窗口會顯示加載的Lua文件信息,以下圖:
其中tp,url,socket,@Untitled12文件均是內存中的Lua代碼,目前是不能添加斷點的。
main.lua,game.lua,config.lua是Lua文件,能夠添加斷點。
自動補全功能有兩種模式:「完成模式」和「建議模式」(VC++採用「建議模式」,C#默認採用「完成模式」)。
BabeLua採用的的是「完成模式」,自動補全規則以下:
●開始鍵入對象的名稱。在可滾動的列表中顯示全部的有效成員。鍵入時,相應的符號將突出顯示。您能夠經過滾動或使用箭頭鍵瀏覽該列表,或者,若是知道成員名稱的前幾個字母,能夠開始鍵入這些字母,直接跳至列表中的該成員。
●若要在代碼中插入突出顯示的成員,請按Tab或Enter。
●按Esc鍵,能夠消除自動補全窗口。
從Lua官網下載「Lua for Windows」並安裝,下載地址以下:
http://luaforge.net/projects/luaforwindows
安裝"Lua for Windows"可能須要預先安裝VC2005運行時庫,下載地址以下:
http://www.microsoft.com/en-us/download/details.aspx?id=3387
Lua scripts folder:Lua代碼的路徑,該目錄下的全部Lua文件將在「Folder Explorer」中列出。
Lua exe path:調試時啓動的exe文件路徑,設置爲「Lua for Windows」安裝目錄下lua.exe文件的路徑。
Working path:工做目錄,與「Lua scripts folder」一致。
Commond line:運行的Lua文件名,下圖示例中運行的Lua文件名是func.lua。
啓動後若是「Lua.exe」窗口一閃而過,能夠在Lua文件的最後面加上一行Lua代碼os.execute("PAUSE")
1、首先檢查一下您的「解決方案管理器」中是否包含多個項目,若是有多個項目,您須要右鍵點擊Lua項目,將其設置爲啓動項目。
2、調試時沒法命中斷點的問題,多數是由於BabeLua沒法正確加載Lua文件所致,此時,BabeLua會在輸出窗口中輸出這個信息,以下圖:
到目前爲止,BabeLua是從您設置的「Lua scripts folder」目錄下搜索Lua文件,而後加載Lua文件到VS調試器中。這不一樣於Lua虛擬機(LuaState),是有本身的Lua文件搜索規則(例如package.path)。
爲了確保能正常的進行斷點調試,您目前須要遵循以下過程:
(1)將須要調試的Lua代碼,放到「Lua scripts folder」下,並確保目錄層級正確;
(2)在「Folder Explorer」中打開Lua文件並添加斷點;
3、啓動調試後,查看VS「輸出」窗口的輸出信息,若是出現如下提示信息:
Warning 1000: Lua functions were not found during debugging session
則須要將exe文件對應的pdb文件(和exe文件同時編譯出來的pdb文件)拷貝到exe文件所在目錄下,而後再啓動調試。
以下圖,若是「監視」窗口中只顯示了變量的類型,而不顯示變量的值。請在「監視」窗口中點擊右鍵,去掉「十六進制顯示」的勾選項。
去掉「十六進制顯示」勾選項後,結果以下圖:
極少數狀況下會出現觀察table類型的變量看不見其成員。
出現的緣由可能有該table下的成員有包含中文字符串或者是userdata(如cocos2d-x建立的對象)。
若是出現該現象,您又想查看table下的成員值,能夠直接將table的成員拖到「監視」窗口中查看,或是鼠標移動到table的成員名稱上進行查看。
同時您能夠提供相關的測試數據給咱們,幫助咱們改進。
以下圖,調試查看visibleSize的值爲0x08FF1CD0
須要查看該cocos2d-x對象的值你能夠將該對象的成員拖到「監視」窗口中查看,或是鼠標移動到該對象的成員名稱上查看,以下圖:
或者經過調用cocos2d-x對象的函數,返回基礎類型的值(整形,字符串等)賦給變量來查看其內容,以下圖:
(1)宿主程序自己存在異常退出的現象
先檢查一下直接運行宿主程序,可否正常運行。
(2)使用了非Lua官網下載的Lua庫
使用非Lua官網下載的Lua庫,有可能會致使調試過程當中宿主程序異常退出,向下兼容Lua5.1的庫能夠正常調試。
(3)其餘異常退出的現象
遇到其餘異常退出的狀況您能夠加入BabeLua QQ羣,尋求幫助。
使用調試30-50次可能會出現1-2次crash的狀況。
若是使用非Lua官網下載的Lua庫,向下兼容Lua5.1的庫能夠正常調試。
==========================