VS2010與.NET4系列 21.VS2010調試器改進(斷點、數據提示、導入/導出)

今天介紹VS2010調試器帶來的改進。

VS2010調試器具有很多的能力。像智能跟蹤(也叫歷史調試),新的並行/多線程調試能力,和傾卸調試支持,通常都會獲得很大的關注。未來的幾篇日誌都會演示如何利用它們。

今天的日誌,將會介紹一些小的卻良好的調試器使用能力改進,非常有用。

斷點標籤

VS2010包含更好地管理調試器斷點的支持。一個特別有用的特性叫做“斷點標籤”(Breakpoint Labels),它使得在項目內部或跨解決方案能夠更好地分組和過濾斷點。

之前版本的VS,不得不管理每一個調試器斷點。單獨管理每一個斷點在大型項目中是痛苦,在想要維護那些要根據調試內容進行打開/關閉的斷點的“邏輯分組”同樣如此。使用VS2010的“斷點標籤”特性你現在可以對斷點分組然後作爲一個單元管理。

使用標籤把多個斷點一起分組

下面是VS2010內部斷點的截圖。它列出了所有在解決方案中定義的斷點(在此處是ASP.NET MVC2 代碼庫):

image

上面列表中第一個和最後一個斷點會在一個Controller實例被ASP.NET MVC 框架創建和釋放時中斷進入調試器。

使用VS2010,我現在可以選中這兩個斷點,右擊,然後選擇新的“編輯標籤...”菜單命令並給定一個通用的標籤/名稱:

image

下面是選中“編輯標籤”命令後彈出的對話框。我們可以使用它來爲我們的斷點創建一個新的字符串標籤,或者選擇已經定義好的現有標籤。在本例中我們將創建一個叫做"Lifetime Management" 的新標籤:

image

當我們點擊“確定”按鈕後,這兩個選中的斷點就會被分組到新建的"Lifetime Management" 標籤:

image

按照標籤過濾/排序斷點

我們可以使用“查找”組合框根據標籤快速地過濾/排序斷點。下面我們只顯示了使用 "Lifetime Management" 標籤的斷點:

image

按照標籤打開/關閉斷點

我們還可以通過標籤分組切換斷點的開/關。我們可以簡單地通過標籤分組進行過濾,用Ctrl-A全選斷點,然後使用單擊啓用/禁用它們:

image

導入/導出斷點

VS2010現在支持導入/導出斷點到XML文件——這意味着你可以將其傳遞給其他開發人員、附加一個錯誤報告,或在以後重新加載。要導出斷點的子集,可以通過特定的標籤並點擊“導出斷點”按鈕:

image

釘住數據提示

VS2010還包含一些“數據提示釘住”特性,從而使你能夠更好地查看和跟蹤調試器中的變量和表達式。

在調試器中把鼠標懸停在變量或表達式上,就會暴露它的數據提示(即顯示其值的工具提示),然後點擊上面新增的“釘住”按鈕,就可以讓數據提供始終可見:

image

你可以“釘住”任意數量的數據提示到屏幕上。除了釘住頂級的變量,你還可以深入到變量的子屬性並釘住它們。

下面我“釘住”了3個變量:category, Request.RawUrl 和 Request.LogonUserIdentity.Name。注意其中最後兩個變量是 Request 的子屬性:

image

使用釘住的數據提示關聯註釋

懸停在釘住的數據提示上面會在調試器內部暴露一些額外的界面:

image

點擊界面底部的註釋按鈕會展開數據提示——它允許你可選地添加註釋:

image

這讓追加和跟蹤調試備註變得非常容易了:

image

釘住的數據提示在同時跨越調試會話和VS會話時非常有用

釘住的數據提示可用於跨多個調試器會話。這意味着如果你停止調試器,修改代碼,然後重新編譯並啓動新的調試會話,任何釘住的數據提示會仍然在那裏,連同任何你關聯的註釋。

從最近的調試會話查看值(非常棒的代碼編輯器特性)

有多少次你曾經停止調試器只是爲了回到代碼並說:

“這個變量的值是什麼???”

釘住的數據提示的一個良好的功能是它們會保持“最近一次調試會話的值”的跟蹤,你可以在VB/C#代碼編輯器內查看這些值,即使調試器不在運行

當你在代碼編輯器而調試器又不運行的時候,數據提示默認會隱藏。不過在代碼編輯器的左邊緣,你會發現對之前你設置的每一個釘住的數據提示都有一個圖釘:

image

把鼠標懸停在釘住的數據提示上,會導致它顯示在屏幕上。下面你會看到當我懸停在編輯器中第一個圖釘上時所發生的事情——它會顯示調試會員最近一次的值:

image

這讓保持狀態和條件的跟蹤變得更加容易,當你在代碼編輯和調試模式之間切換的時候。

導入/導出釘住的數據提示

釘住的數據提示默認是跨VS會話保存的(不需要做任何事情來啓用它)。

VS2010現在還支持導入/導出釘住的數據提示到XML文件,這樣你就能夠傳給其他開發人員,附加到錯誤報告,或只是簡單地在以後重新加載。

image

總結

VS2010包含許多新的調試器特性,重要而小巧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章