您好,登錄后才能下訂單哦!
今天介紹VS2010調試器帶來的改進。
VS2010調試器具有很多的能力。像智能跟蹤(也叫歷史調試),新的并行/多線程調試能力,和傾卸調試支持,通常都會獲得很大的關注。未來的幾篇日志都會演示如何利用它們。
今天的日志,將會介紹一些小的卻良好的調試器使用能力改進,非常有用。
斷點標簽
VS2010包含更好地管理調試器斷點的支持。一個特別有用的特性叫做“斷點標簽”(Breakpoint Labels),它使得在項目內部或跨解決方案能夠更好地分組和過濾斷點。
之前版本的VS,不得不管理每一個調試器斷點。單獨管理每一個斷點在大型項目中是痛苦,在想要維護那些要根據調試內容進行打開/關閉的斷點的“邏輯分組”同樣如此。使用VS2010的“斷點標簽”特性你現在可以對斷點分組然后作為一個單元管理。
使用標簽把多個斷點一起分組
下面是VS2010內部斷點的截圖。它列出了所有在解決方案中定義的斷點(在此處是ASP.NET MVC2 代碼庫):
上面列表中第一個和最后一個斷點會在一個Controller實例被ASP.NET MVC 框架創建和釋放時中斷進入調試器。
使用VS2010,我現在可以選中這兩個斷點,右擊,然后選擇新的“編輯標簽...”菜單命令并給定一個通用的標簽/名稱:
下面是選中“編輯標簽”命令后彈出的對話框。我們可以使用它來為我們的斷點創建一個新的字符串標簽,或者選擇已經定義好的現有標簽。在本例中我們將創建一個叫做"Lifetime Management" 的新標簽:
當我們點擊“確定”按鈕后,這兩個選中的斷點就會被分組到新建的"Lifetime Management" 標簽:
按照標簽過濾/排序斷點
我們可以使用“查找”組合框根據標簽快速地過濾/排序斷點。下面我們只顯示了使用 "Lifetime Management" 標簽的斷點:
按照標簽打開/關閉斷點
我們還可以通過標簽分組切換斷點的開/關。我們可以簡單地通過標簽分組進行過濾,用Ctrl-A全選斷點,然后使用單擊啟用/禁用它們:
導入/導出斷點
VS2010現在支持導入/導出斷點到XML文件——這意味著你可以將其傳遞給其他開發人員、附加一個錯誤報告,或在以后重新加載。要導出斷點的子集,可以通過特定的標簽并點擊“導出斷點”按鈕:
釘住數據提示
VS2010還包含一些“數據提示釘住”特性,從而使你能夠更好地查看和跟蹤調試器中的變量和表達式。
在調試器中把鼠標懸停在變量或表達式上,就會暴露它的數據提示(即顯示其值的工具提示),然后點擊上面新增的“釘住”按鈕,就可以讓數據提供始終可見:
你可以“釘住”任意數量的數據提示到屏幕上。除了釘住頂級的變量,你還可以深入到變量的子屬性并釘住它們。
下面我“釘住”了3個變量:category, Request.RawUrl 和 Request.LogonUserIdentity.Name。注意其中最后兩個變量是 Request 的子屬性:
使用釘住的數據提示關聯注釋
懸停在釘住的數據提示上面會在調試器內部暴露一些額外的界面:
點擊界面底部的注釋按鈕會展開數據提示——它允許你可選地添加注釋:
這讓追加和跟蹤調試備注變得非常容易了:
釘住的數據提示在同時跨越調試會話和VS會話時非常有用
釘住的數據提示可用于跨多個調試器會話。這意味著如果你停止調試器,修改代碼,然后重新編譯并啟動新的調試會話,任何釘住的數據提示會仍然在那里,連同任何你關聯的注釋。
從最近的調試會話查看值(非常棒的代碼編輯器特性)
有多少次你曾經停止調試器只是為了回到代碼并說:
“這個變量的值是什么???”
釘住的數據提示的一個良好的功能是它們會保持“最近一次調試會話的值”的跟蹤,你可以在VB/C#代碼編輯器內查看這些值,即使調試器不在運行。
當你在代碼編輯器而調試器又不運行的時候,數據提示默認會隱藏。不過在代碼編輯器的左邊緣,你會發現對之前你設置的每一個釘住的數據提示都有一個圖釘:
把鼠標懸停在釘住的數據提示上,會導致它顯示在屏幕上。下面你會看到當我懸停在編輯器中第一個圖釘上時所發生的事情——它會顯示調試會員最近一次的值:
這讓保持狀態和條件的跟蹤變得更加容易,當你在代碼編輯和調試模式之間切換的時候。
導入/導出釘住的數據提示
釘住的數據提示默認是跨VS會話保存的(不需要做任何事情來啟用它)。
VS2010現在還支持導入/導出釘住的數據提示到XML文件,這樣你就能夠傳給其他開發人員,附加到錯誤報告,或只是簡單地在以后重新加載。
總結
VS2010包含許多新的調試器特性,重要而小巧。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。