av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

VisualStudio的八個(gè)調(diào)試建議:像老大哥一樣調(diào)試

Visual Studio內(nèi)置有如此之多有用的調(diào)試特性,但并非眾所周知。本文列舉一些我的***,包括最近我在 VS2013 中發(fā)現(xiàn)的調(diào)試特性。

八步ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

1.在Lambda表達(dá)式中的斷點(diǎn)

如果你點(diǎn)擊左邊欄設(shè)置斷點(diǎn),你可能很容易被誤導(dǎo)認(rèn)為斷點(diǎn)發(fā)生在行級(jí)別上。實(shí)際上,你可以在行內(nèi)部插入斷點(diǎn),如在你的LINQ的Lamdba表達(dá)式中。僅需右擊代碼部分并且從菜單選擇Breakpoint > Insert breakpoint。

2.便捷的輸出窗口

輸出窗口對(duì)調(diào)試很有用,同樣斷點(diǎn)也是彈出式或中斷程序的,但它確實(shí)很嘈雜。僅需右擊輸出窗口(要確保輸出被設(shè)為調(diào)試),關(guān)閉Module Load,Module Unload,Process Exit 和Thread Exit 以只輸出你關(guān)心的內(nèi)容。現(xiàn)在用Debug.WriteLine給出你真正關(guān)心的內(nèi)容吧。

你也可以在輸出窗口使用Ctrl-S保存設(shè)置。

3.在客戶端和服務(wù)器端附加調(diào)試(VS2012)

服務(wù)器端和客戶端工程在一個(gè)solution中是有用的,你僅需要一份Visual Studio運(yùn)行時(shí)拷貝而且也不會(huì)在alt-tab鍵的前進(jìn)后退中迷失,特別是當(dāng)它們使用共同的代碼如數(shù)據(jù)結(jié)構(gòu)工程。

有一個(gè)缺點(diǎn),start-up工程是唯一獲得附加調(diào)試的工程。如果你遇到異常,它會(huì)顯示在你的客戶端,而不是服務(wù)端。

現(xiàn)在這個(gè)問題很容易解決了。右擊solution,選擇properties > Multiple startup projects,然后選擇Start動(dòng)作為你需要附加調(diào)試的工程。

4.創(chuàng)建可重建工程模板

如果你負(fù)責(zé)SDK或者API,創(chuàng)建一個(gè)你獨(dú)用的簡(jiǎn)單的應(yīng)用程序。然后使用File > Export template保存它。

現(xiàn)在你隨時(shí)可以從你的模板創(chuàng)建一個(gè)新的工程,僅需要一些點(diǎn)擊。更好的做法是使得用戶和測(cè)試者能夠使用它們,以便他們給你最小的重建。

5.使用DebuggerDisplay屬性

調(diào)試器默認(rèn)會(huì)使用ToString()來監(jiān)視并在窗口正常輸出類名。即使你重寫ToString,對(duì)其他調(diào)試者也不見得一目了然。

在你的類中通過一句簡(jiǎn)單的表達(dá)式,而不是改變屬性值來使用DebuggerDisplay。例如:

 
 
  1. [DebuggerDisplay("Order {ID,nq}") 
  2. class Order { 
  3.     public string ID { get { return id; } } 

“nq”阻止了雙引號(hào)發(fā)散。你也可以在這里使用方法,但是別做任何可能帶來微小副作用的事,否則你觀察的對(duì)象可能改變其行為,并導(dǎo)致奇怪的事發(fā)生。

6.管理斷點(diǎn)

你創(chuàng)建了一些帶勁的斷點(diǎn),現(xiàn)在你要關(guān)閉其中的一個(gè),因?yàn)樗稽c(diǎn)擊了太多次,但你馬上又要再次用到它。如果你刪除了這個(gè)斷點(diǎn),你就不得不回來再找到斷點(diǎn)位置。

打開常被忽視的Breakpoints窗口(Ctrl-Alt-B)。這個(gè)窗口顯示了你設(shè)置的所有的斷點(diǎn)但關(guān)鍵的是允許你使它們無效僅僅通過去除check標(biāo)記。再次check上以重新使它有效。

這個(gè)窗口同樣提供了快速調(diào)試的功能:

  • 條件 斷點(diǎn)什么時(shí)候發(fā)生
  • 發(fā)生次數(shù) 觀察多長時(shí)間發(fā)生一次并基于該次數(shù)中斷
  • 標(biāo)簽 斷點(diǎn)在分支中允許有效和無效
  • 何時(shí)發(fā)生 在輸出窗口顯示一條消息以代替真實(shí)的中斷

 7.斷開或輸出調(diào)用者信息(.NET 4.5/Windows 8 Store)

沒有為調(diào)用程序當(dāng)前方法準(zhǔn)備的全局變量,并且得到當(dāng)前棧內(nèi)容是一個(gè)非常慢的操作。

一個(gè)快速簡(jiǎn)單的手段是,為方法增加一個(gè)額外的可選字符型參數(shù)了,用CallerMemberName屬性。例如,

 
 
  1. void MyFunction(string someValue, [CallerMemberName] string caller = null) { 
  2.     ... 

因?yàn)檫@是可選的值,你不必修改任何調(diào)用程序,但現(xiàn)在你能:

①基于調(diào)用程序變量,在某些程序中設(shè)置斷點(diǎn)條件

②向日志文件或者輸出窗口輸出調(diào)用程序內(nèi)容

你也可以使用CallerLineNumber 和CallerFilePath。同樣記住構(gòu)造函數(shù),終結(jié)器和運(yùn)算符重載將會(huì)顯示它們的相關(guān)方法名(.ctor,op_Equals等等)。

 8.監(jiān)視方法返回值(VS2013, .NET 4.5/Windows 8.1 Store)

有時(shí)你想看看方法返回值但對(duì)你來說并不容易,因?yàn)樗橇硪粋€(gè)方法的輸入?yún)?shù),所以你并沒有存儲(chǔ)該值。

這個(gè)功能被加到VS2013中,但是它卻非常容易錯(cuò)過,你不得不在正確的時(shí)間和正確的地方使用它。正確的地方是 Autos窗口,正確的時(shí)間是剛好回到方法被調(diào)用的地方這一步。當(dāng)在你調(diào)用方法之前或者在方法體中時(shí)你看不到這個(gè)。它是一個(gè)單一步驟,像這樣:

箭頭標(biāo)明它是返回值,并且讓你知道和它相關(guān)的方法名。

寫在***

我也不得不強(qiáng)調(diào),一旦軟件離開了你的機(jī)器,記錄日志對(duì)問題解決是多么有效。但這是一個(gè)比這個(gè)更大的議題。

我是不是遺漏了一些更好的調(diào)試建議?在下面的回復(fù)中隨時(shí)讓我知道吧。

附:Michael Parshin也有一些調(diào)試的很棒的建議。

原文鏈接:http://damieng.com/blog/2014/02/05/8-visual-studio-debugging-tips-debug-like-a-boss

譯文鏈接:http://blog.jobbole.com/59618/


文章名稱:VisualStudio的八個(gè)調(diào)試建議:像老大哥一樣調(diào)試
本文網(wǎng)址:http://uogjgqi.cn/article/djepssg.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流