[Visual Studio] Visual Studio開發小撇步 - 2 Debug & Trace 運用

Visual Studio 2015 System.Diagnostic Debug & Trace

前言

剛開始開發網頁的時候常常使用自以為正確的方式在做偵錯

從下列順序一路演進

  1. 使用 label 紀錄
  2. 中斷點
  3. System.Diagnostic 偵錯

那今天要跟大家介紹的就是最後這一個好用的東東  System.Diagnostic 偵錯

他可以處理一些實務上較棘手的狀況。

使用情境

我們在開發時,一定都會預想結果會是什麼,

但是光用想的、猜測都是非常不可靠的,

當然如果我們是使用TDD開發就沒有這個問題  (確保產出都是高品質正確程式並包含驗證)

但是如果只是小地方想要驗證邏輯是否正確,

或是在線上的環境無法開啟Visual Studio 工具偵錯 (曾經遇到前人程式寫的不好,遇到Server時間格式問題錯誤,用這方法快速Debug出來 ), 

所以我們來開始介紹吧 XD

基本介紹

在我們開始使用之前我們必須先看到 using System.Diagnostics 這個命名空間

其中有兩個很好用的類別

我們來分別介紹一下兩者的特性 

Debug
  • 主要會用在我們開發偵錯的時期 
  • 他只有在Debug組態編譯的時候才會被執行到 (換句話說當你發行為 production 它不會影響到效能,但他會佔用檔案空間,即它就存在原始碼當中)
  • 可以使用 Debug.Assert & Debug.Fail 幫忙找出問題

Debug幾種紀錄方式

  • Assertion檢查
  • 一般輸出文字
  • 監聽器
    • 共用 TraceListenerCollection監聽器

Trace
  • 主要用在上線發行階段 (常見的是有時開發環境沒有問題,發布後程式卻有BUG,但server並沒有開發環境,那我們可以透過此類別去注入一些程式幫忙記 log )
  • 通常會搭配寫入檔案使用

Trace 幾種紀錄方式

  • 判斷提示
  • 一般輸出文字
  • 嚴重等級標示

小結

還是老話一句工具都是需要花一點時間去做研究的,

只有當你自己熟悉後,才會讓開發效率提升,

能透過工具輔助務必不要靠自己。

希望各位都能學習到這個好用的偵錯開發技巧 : )

 

範例程式碼

https://github.com/hatedinny1/diagnostics