21 調試我們的C#程式

來源:互聯網
上載者:User

標籤:

 

  我們寫的C#程式,很多的時候不是能一次就寫對的。尤其是在實際的項目中,你經常要做的工作就是不斷修改你寫的程式,讓它正常運行。程式有錯誤,主要是兩種情況。一種是程式報錯了,不能正常運行下去。另一種是程式沒有報錯,但是程式的執行結果不是我們想要的。通常程式員管這些錯誤叫做bug。怎麼能更容易的找到這些程式的錯誤呢。 Visual Stuido提供了調試的功能讓我們可以比較容易的偵錯工具,更加有效找到出錯的地方。

 

Visual Studio的主要調試功能包括這些:

  1. 輸出一些關鍵點的調試資訊。

  2. 打斷點。當程式運行到斷點的時候,程式會停下來

  3. 一步步執行程式。

  4. 查看運行過程中各個變數的值。

 

我們接下來一個個的瞭解和學習一下。 

 

1. 輸出一些關鍵點的調試資訊。

 

你建立一個項目。解決方案名稱為Sloution21,項目名稱為Exercise21,項目類型為控制台程式。點擊Program.cs. 在裡邊加入這些代碼。

 

我們可以用Debug.WriteLine()來輸出我們的調試資訊。這個方法和Console.WriteLine()非常相似。Console.WriteLine()是把資訊輸出到Dos視窗。Debug.WriteLine()是把資訊輸出到vs的輸出調試視窗。

輸出視窗在哪裡啊?點擊視圖-》輸出。 你會看到輸出視窗。在顯示輸出來源的下拉式清單中選擇調試。就看到輸出調試視窗了。

 

 

要使用Debug.WriteLine(),我們首先要在using語句最下邊加入一條新的using語句。 見第6行代碼。

using System.Diagnostics; 

我們用到的Debug.WriteLine()在這個庫裡邊。

我們使用Debug輸出了4條資訊。

  1. 在main函數的開頭

  2. 在main函數的結尾

  3. 第20行輸出使用者輸入的數字

  4. 第23行輸出經過複雜運算後的結果result的值

 

運行結果

 

 

在調試輸出視窗中我們會看到很多輸出。但是在中間我們可以找到我們的調試輸出。你沒有找到啊,那就看我的圖吧。

使用Debug.WriteLine()這種方法,可以把我們程式的一些關鍵節點的資訊輸出出來,以方便我們調試。而且它不用中斷程式執行,所需時間短。

 

2. 打斷點。

有的時候我們希望程式運行到某個語句,停下來。就像小孩子學舞蹈,要把複雜的舞蹈分解成一個個的動作。停下來,我們可以看的更清楚。

打斷點很簡單。在程式碼的左邊灰色地區內(這個非常重要,必須是灰色地區內)點擊滑鼠左鍵。一個紅色的原點出現了。這個紅點就是程式的斷點。程式運行到這裡會停下來。取消斷點也非常容易,再在相同的位置點擊滑鼠左鍵,紅點不見了。斷點就取消了。可以同時打多個斷點哦。

 

按F5運行。你會看到程式,運行到斷點的地方就停了下來。將滑鼠移至上方在變數上邊,你會看到各個變數的值。

 

3. 讓程式一步步執行

當程式碰到斷點的時候,程式就停了下來。接一下來我們可以讓程式一步步的執行。

有兩種方法。

l  逐語句。

按F11鍵。程式會逐條語句的執行,遇到調用其他方法,程式會轉到被調用的方法中逐條執行。

l  逐過程。

按F10鍵。程式會把調用的其他方法只是當做一條語句。遇到調用其他方法,程式不會轉到被調用的方法中逐條執行。其他和逐語句執行一樣。

當在代碼中打了多個斷點的時候,想讓程式直接跳到下一個斷點,可以按F5鍵,讓程式繼續運行。碰到下一個斷點,程式就停了下來。

 

4.  查看運行過程中各個變數的值.

在打斷點的時候我們介紹了一種查看各個變數的值的方法。當然還有很多其他調試過程中查看變數的方法。我也希望大家可以自己試著通過網路尋找一下,試著自己學習找到其他查看變數值的方法。有問題可以隨時諮詢我。 

我講這門課,重點是教大家能開始編程,越快越好。不是窮盡所有的知識點。還有的就是,我會給大家指一些方向,鼓勵大家去自己摸索剩餘的知識點。在這個過程中掌握學習的方法。教是為了不教。

 

練習

  1. 尋找其他可以查看程式運行過程中變數的值的方法。

  2. Debug.WriteLine() 將調試結果輸出到調試視窗中,和很多其他資訊混在一起,不是很方便查看。在網上查一下,如何讓我們的調試資訊輸出到一個乾淨的視窗中?

  3. 試著調試一下以前自己寫的代碼。打斷點,輸出一些調試資訊,查看程式運行過程中各個變數的值。

  4. F10,F11,F5調試的時候,如何運用?親自嘗試幾次吧。以後的編程中會經常用到的。

 

 

 

付費解答C#入門學習過程中碰到的各種問題。

零基礎學習C#入門,大多數的問題都可以通過自學或藉助互連網解決。

但是還是會有一些問題,不是那麼容易解決,成為了你學習的絆腳石。最後甚至造成你學習的半途而廢。通常學習C#編程入門,你會遇到20到30多個你不能很容易解決的問題。

這個時候,你最需要什麼呢?

對!一個專業的老師給你協助!

你在學習本課程中,遇到任何問題都可以通過qq或email想本教程作者進行求助。

只需30元,你就可以得到本教程作者的三次專業解答。所以你只需不到300元就可以順利的完成C#入門,從此推開軟體行業的大門。

 

付費方式非常簡單:

用掃描下面的二維碼。在付款留言中留下你的qq號或email地址就可以啦。

 

教育不是要便宜,而是要可靠!真正聰明的人,更懂得花錢讓專業的人為自己服務,提高自己的效率。

 

老師qq:2040227296

老師email:[email protected]

 

21 調試我們的C#程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.