程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#程序Bug的快速修復方法(2)

C#程序Bug的快速修復方法(2)

編輯:關於C語言
證完整性

一個C# 程序中的大多數函數都是一個對象上的實例方法。對任何對象的有效狀態都有暗示的假設。當一個公有的方法被調用時,你應該確保那些暗示的假設經過了測試。C# 的條件編譯特征使這一點很容易實現。

首先,寫一個私用的函數來測試對象的完整性。你在這麼做時,將該方法標為“conditional”: [Conditional ("DEBUG")]

以下是引用片段:
private void ImOK ()
{
Debug.Assert (this != null,
"Testing Object State",
"this cannot be null");
// More here.
}

然後,在每個公有的方法中,調用ImOK方法:

以下是引用片段:
public bool ProcessIterations (int numIters)
{
ImOK ();
Debug.Assert (numIters > 0,
"ProcessIterations.",
"Iterations must be more than 0");}

在發布(Release)版本中,編譯器自動取消對ImOK 的調用。

為什麼用這種方法?運用該技巧,你可以快速發現任何你的對象狀態變得無效的情況。

運用debug 和Trace 輸出

打印診斷消息可以幫你確定你的程序是怎麼出錯的。你需要知道當觸發一個Assert時,發生了什麼情況;你也通常需要知道在這之前發生了什麼。知道這些的最好的方式就是運用你的代碼,這樣你就可以很容易地看到在出現bug前,調用了什麼函數。

在生成調試輸出時,.Net Framework有一些新的功能可以用。System.Diagnostic.Debug類可以讓你格式化調試輸出,並能很容易地創建不同的類或級別的調試輸出。下面是我喜歡用的一些指導方針。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved