[ASP.NET]Visual Studio的BreakPoint與TracePoint功能

[ASP.NET]Visual Studio的TracePoint功能

上次在寫程式的時候,

很難得看了一下滑鼠右鍵的MenuContent,中斷點裡面竟然還有另一個叫做「追蹤點」,

因為名字比較帥,所以就好奇玩了一下,

原來是類似不中斷的print功能。

 

適用於你已經知道條件,不想動到原本的code,可能在很複雜的情況與特定次數底下,

需要知道相關的訊息,懶得用中斷點+監看式或其他記錄log的方式,就可以用一下這個輕便的方法。

 

這邊簡單用個小例子說明一下,

首先要插入追蹤點,

insert

 

出現了一個視窗,

上面寫著一些特殊關鍵字,如$CALLER-前一個函式名稱、$PNAME-處理序名稱、$FUNCTION-目前函式名稱,

也就是打了這些關鍵字,他就會print至output視窗。

變數的話,則是用{}框起來。

如果「繼續執行」打勾,則不會中斷,取消,則跟一般中斷點一樣。(追蹤點是菱形,中斷點是圓形,有條件會多個十字)

printMessage

 

其他的就是與有條件的中斷點一樣用法,

可以限定條件或呼叫次數範圍,才print出相關的訊息。

這邊限定次數2次以上,條件是參數需為偶數,才print出上一個呼叫的function name與參數值。

count

countMorethan2

condition

最後的結果,

for loop的index每次都會呼叫testing(),

index為0時,因為次數是1,所以略過。

print出來的結果是2.4.6.8。

如果testing()這個function會到處被呼叫的話,這種方式還蠻不錯用的。

output

 

 

同樣的方式,不要每次loop跑個十萬次,要看最後一次,中斷點要按99999次F5,這樣太笨了…

中斷點是可以有條件才發動的….


或許您會對下列培訓課程感興趣:

  1. 2019/12/21(六)~2019/12/22(日):演化式設計:測試驅動開發與持續重構 第七梯次(台北)
  2. 2020/1/4(六)~2020/1/5(日):Clean Coder:DI 與 AOP 進階實戰 第三梯次(台北)
  3. 2020/02/08(六):【針對遺留代碼加入單元測試的藝術】 第八梯次(台北)
  4. 2020/02/09(日):【極速開發+】 第九梯次(台北)
  5. 2020/02/28(五)~2020/3/1(日) C#進階設計-從重構學會高易用性與高彈性API設計 第三梯次(台北)

想收到第一手公開培訓課程資訊,或想詢問企業內訓、顧問、教練、諮詢服務的,請洽 Facebook 粉絲專頁:91敏捷開發之路