Unity3D的斷點調試功能

來源:互聯網
上載者:User

  斷點調試功能可謂是程式員必備的功能了。Unity3D支援編寫js和c#指令碼,但很多人可能不知道,其實Unity3D也能對程式進行斷點調試的。不過這個斷點調試功能只限於使用Unity3D內建的MonoDevelop編輯器。而用Visual Studio是不行的。聽說有個叫做UnityVS的東西可以使用VS對Unity進行斷點Debug,不過阿趙我本人沒試過。         好了,簡單的說說做法吧: 首先肯定是先要把指令碼編輯器指定為MonoDevelop了。  

 

選擇好之後,可以在項目面板右鍵選擇Sync MonoDevelop Project來開啟MonoDevelop。 

 因為需要有指令碼才能對指令碼進行調試,所以我寫了個很簡單的指令碼,裡面有兩個按鈕,按第一個“add”按鈕的時候,程式會用一個迴圈的方式把從0到9的數加起來,然後累加給sum。按第二個按鈕時,會把sum清零。   寫好指令碼之後,把指令碼隨便拖到情境的物體上面,我們準備調試了。在調試之前,我們需要把MonoDevelop和Unity3D進行串連。 具體的串連方法有2種:第一種,先把當前情境儲存一下,然後關掉Unity。回到MonoDevelop,按F5或者點擊Debug按鈕。 這樣,MonoDevelop會開啟一個新的Unity3D介面,這時候串連完成了。  第二種方法,無需關掉Unity,在MonoDevelop的Run菜單下選擇Attach to Process   然後選擇Unity的進程,點擊Attach按鈕。   這時候,MonoDevelop就串連上了Unity了。 當串連好了Unity3D之後,右邊的調試按鈕就變成可用了,我們把視窗顯示選擇Debug。 debug模式指令碼下面的位置會多出兩個視窗。  回到Unity,點擊運行按鈕,會看到剛才的指令碼已經運行了。裡面有兩個按鈕。  回到MonoDevelop,在指令碼裡面我們打一個斷點(在行號左邊點一下)   然後回到Unity裡面,點擊第一個按鈕“add”。這時候斷點起作用了,程式會暫停,MonoDevelop跳到斷點的行。  留意看下面debug的Locals資訊,會看到目前狀態下的變數i和sum的值。  使用調試按鈕,讓程式單步的運行 我們看到了當前的變數i和sum的實際變化情況。  到這裡,斷點調試已經完成。 調試完之後,我建議最好把MonoDevelop和Unity3D的串連斷開。假如你不斷開的話,Unity會一直處於很卡的狀態。 斷開的方法也是有幾種了,首先對應Debug按鈕有一個斷開的按鈕,可以直接點擊斷開。   或者我們可以把剛才附加的進程Detach掉。  再或者,我們可以點擊這個插頭按鈕,把Debugger 斷開。           這兩種方法串連Unity,我建議還是使用第二種附加進程的方式吧。畢竟你不可能每次調試都要關掉一次Unity然後再從MonoDevelop開啟一次Unity。所以,編寫指令碼的時候,把串連Detach掉,等需要調試的時候,再把進程Attach上去,進行調試就行了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.