Visual Studio debugger是一個很棒的調試工具,能夠幫助程序猿們快速地發現和解決問題。這裏給你們簡單介紹一下VS調試工具中的七個不爲人知的小功能。html
調試過程當中常常須要拖拽黃箭頭,使特定語句執行或者不執行。常規方法就是使用鼠標直接拖拽。多線程
在Visual Studio 2017 15.3預覽版中,有一個更簡單地跳轉到目標行的方法:在目標行盤旋鼠標指針,出現綠色豎線右箭頭圖標後,按住CTRL後鼠標左鍵點擊,就把調試黃箭頭移過去了,再點擊調試下一步或者F5就直接在指定行運行了。ide
有時候某個實例的屬性值會莫名其妙的變化,當咱們須要知道爲何變化的時候,會在屬性代碼中添加斷點,可是這會對全部實例都生效。工具
在調試的時候,可使用Make Object ID和Conditional Breakpoint功能去添加指定實例的斷點,具體以下:學習
注意Make Object ID記錄的是內存中對象的地址,下次調試的時候就改變了,須要從新設置。this
Attach to Process是你們常常須要用的功能,Visual Studio 2017中有一個新的選項叫作Reattach to Process,能夠方便你們從新附加到最近一次附加到的進程上。線程
先附加到一個進程上,點擊Stop Debugging,而後再點擊Debug就能看到裏面的Reattach to Process選項了。debug
在調試過程當中,調試工具欄中有一個新的選項叫作:Show Threads in Source。點擊後便可在有線程中止的代碼行前顯示一個圖標,鼠標停留在圖標上顯示線程,右擊圖標能夠顯示可用操做。3d
注意這個功能可能影響調試效率,若是不須要的話建議默認關閉。指針
當進行多線程調試的時候,能夠利用Disable Breakpoint功能臨時禁用指定斷點,防止其它線程因爲斷點中斷,影響當前線程的調試工做。
調試過程當中,在Command Window中輸入」Debug.ListCallStack -AllThreads」,便可看到全部線程的調用棧。
也能夠用WinDBG命令」~*k」:
有時候可能須要在調試Watch窗口中查看一個方法的返回值,可是真正執行這個方法的時候可能會產生負面效果,這裏能夠在Watch窗口輸入的時候添加」, nse」來避免負面效果,是」No Side Effects」的縮寫。例子以下:
剛開始Add執行了六次,因此testList總數是6,
如今想查看Add當前執行的返回值,能夠在Watch窗口輸入Add(1),可是這會產生負影響,改變testList的值爲7,
所以若是想不影響testList的原始值,則須要加上」, nse」,以下顯示是8,可是testList原始值未變仍是7:
介紹到此爲止,有你喜歡的調試小功能麼,歡迎來評論~
PS:只是介紹,不喜勿噴。
[原創文章,轉載請註明出處,僅供學習研究之用,若有錯誤請留言,如以爲不錯請推薦,謝謝支持]
[原文:http://www.cnblogs.com/lavender000/p/7098321.html,來自永遠薰薰]