[Visual Studio 2015] Debugging 能力強化 - BreakPoint

上個月的Connect()大會後,Visual Studio 2015 推出了Preview,其中在程式開發的Debugging裡終於出現了一些強化的功能,因此在以下做了點介紹,有興趣的人也可以參考Channel9的介紹影片: Debugging Improvements in Visual Studio 2015
http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Debugging-Improvements-in-Visual-Studio-2015

好想沒有寫文章,沒想到一隔隔了兩年呀!!!

上個月的Connect()大會後,Visual Studio 2015 推出了Preview,其中在程式開發的Debugging裡終於出現了一些強化的功能,因此在以下做了點介紹,有興趣的人也可以參考Channel9的介紹影片: Debugging Improvements in Visual Studio 2015

BreakPoint的強化:

在過去中斷點就只是個中斷點,但是在大量的迴圈中或是大型的程式中下中斷點時,為了想要當某參數在特定情況下進行中斷時,就需要肉眼看著監看視窗搭配F5一次次的看每次中斷點的狀況,如果一不小心多按了一次F5,也有可能要整個再重新Debugging一次,因此在VS2015的Break Point可以進行條件上的設定。

12/10 - 修正:
在過去VS版本也是具有Conditions 與 Actions設定的功能,但並未這麼直覺,而VS2015算是把這個功能強化並且變得更直覺簡單使用。
有興趣的人可以參考此篇MSDN文件

Breakpoints: Use Hit Counts, Call Stack Functions, and Conditions to Break When and Where You Want in the Visual Studio Debugger
http://msdn.microsoft.com/en-us/library/5557y8b4.aspx

 

我寫了一個For迴圈的小程式,並在裡面下了一個中斷點,你可以將滑鼠移到中斷點附近,會出現一個設定的圖示,按下去後會出現BreakPoint Setting的畫面

點擊後會看到Conditions 與 Actions的兩個選項,其中Conditions就是中斷點的中斷條件,裡面有三種選擇

  1. Conditional Expression
  2. Hit Count
  3. Filter

因此您可以根據您的狀況選擇,並且可以混用作為中斷條件,例如選擇Conditional Expression,並且條件輸入 a==60時

程式開始執行後,會在a = 60的時後才程式才會觸發中斷,因此在大量迴圈或是大型程式裡,就可以輕鬆在當a=60時將程式進行中斷並且開始做Debugging

至於Actions,主要是可以設定觸發中斷時在輸出視窗輸出文字,或是設定是否要中斷,或是直接繼續執行程式,例如在Message輸入以下輸出訊息,並將Continue execution打勾。

其中在你可以透過 { } 並在裡面放入變數就可以將參數輸出,以及配合 $ 可以輸出一些內建的功能,例如將當時運行的Function輸出等等

當程式開始執行,碰到設定條件的中斷點時就會將我們要的訊息輸出到輸出視窗裡,但是其實並不會真的被中斷。

 

另外提一下,現在VS2015的監控視窗或是及時運算視窗中都可以運算Lambda啦,配合上述的BreakPoint,相信可以幫助很多的開發人員Debugging他們的程式了!!!

過去在VS2013的監控視窗或是及時運算視窗中輸入Lambda會出現這樣的訊息

在VS2015中....

是不是超方便的呢XDDD

 

Visual Studio 2015針對Debugging還有許多的強化,後續在慢慢介紹吧...........如果還有記得的話

 


歡迎大家一起到MSDN學習與討論