![](/img/trans.png)
[英]How do I create a SQL Server Express database at runtime in a C# MVC App?
[英]How Do I: Create a Breakpoint Using Conditions? [C# Express]
我一直在我的Visual C#2008 RSS Feed中看到這個:
http://lincolnfair.net/oldLincolnFair/mad.jpg
我很確定這是VS 2010唯一的功能,但我想知道是否還有在VS 2008中復制這個功能?
與@Relster類似,我有一個代碼片段,內容如下
#if DEBUG
if( node.Name == "Book" )
System.Diagnostics.Debugger.Break();
#endif
其中node.Name == "Book"
根據我要測試的條件而變化。 #if DEBUG
包裝器確保檢查永遠不會釋放代碼。
這也比使用Visual Studio中的條件斷點快了很多 。 當你使用內置條件bp時,visual studio必須打入應用程序,暫停所有線程,評估表達式並確定每次遇到斷點時它是否為真。 在緊密循環中,這可能是接近完全執行性能和爬行運行之間的差異。
你也可以在VS 2008中做到這一點。 我確定有很多方法可以做到這一點,但有一種方法是右鍵點擊現有斷點邊緣的紅點並選擇condition...
,然后給它一個評估為bool
的條件,它會只有這是真的才能打破。 條件語句應該可以訪問設置斷點的行中的任何內容。
在該上下文菜單中還有其他選項,允許您過濾導致中斷的內容(例如僅某些線程),基於斷點被擊中的次數中斷,在遇到斷點時運行宏等。
另一種方法是制定自己的條件並使用以下方式調用:
System.Diagnostics.Debugger.Break();
雖然它可能不像VS2010設置斷點那樣復雜,但您可以以最小的代碼開銷獲得相同的效果。 只需記住在構建發布代碼時將其刪除。
注意:在VS2008和VS2005中,您可以通過設置常規斷點(F9或在裝訂線中雙擊)設置條件斷點,然后右鍵單擊該斷點以設置“條件...”。 VS2008 Express Edition中不提供設置條件斷點的功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.