日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
幾招教會您VS調試困惑

在VS調試代碼中,我們經常會遇到這樣的問題,有時我們引用了一些其他工具包或者類庫(如Microsoft提供的Enterprise Library),而在VS調試時,我們其實是不需要跟蹤VS調試這些代碼的,因為它們都已經證明是正確的。在Visual Studio 2003中,處理這類問題我們的方法一般是使用F10跳過它們,但一旦工程龐大的話,這樣做十分麻煩。

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網綜合服務,包含不限于成都網站設計、成都做網站、常寧網絡推廣、微信小程序、常寧網絡營銷、常寧企業(yè)策劃、常寧品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學生創(chuàng)業(yè)者提供常寧建站搭建服務,24小時服務熱線:13518219792,官方網址:www.cdcxhl.com

JMC功能由兩方面來實現(xiàn)。首先,如果一個工程是以release方式進行編譯構建的話(就是工程中,沒有pdb文件),VS調試器會將其認為是非用戶代碼,那么在VS調試運行時,就根本不會進入該工程中進行VS調試。其次,可以使用System.Diagnostics命名空間里的 DebuggerNonUserCodeAttribute屬性,將其應用在希望不進行VS調試的代碼段中。

下面舉一個例子來說明。下面的代碼段中,有兩個靜態(tài)方法UserCode()和NonUserCode(),其中,在NonUserCode()中,是應用了 DebuggerNonUserCode的屬性,這表明這段代碼將在VS調試運行時,VS調試器不會進入其中。將斷點設置在其中的第9行,運行程序,程序會在第一個UserCode()里中斷,現(xiàn)在試著用F11繼續(xù)單步跟蹤,會發(fā)現(xiàn)系統(tǒng)在進入usercode()方法中運行后,并沒有進入到NonUserCode ()里運行。

 
 
  1. using System;  
  2. using System.Diagnostics;  
  3. class Program  
  4. {  
  5. static void Main(string[] args)  
  6. {  
  7. // Step into F11 from here  
  8. UserCode();// Place break point on this line  
  9. NonUserCode();  
  10. UserCode();  
  11. }  
  12. static void UserCode()  
  13. {  
  14. Console.WriteLine("This is a call from user Code");  
  15. }  
  16. // Attribute to indicate the Debugger to jump  
  17. // over this method  
  18. [DebuggerNonUserCode]  
  19. static void NonUserCode()  
  20. {  
  21. Console.WriteLine("This is a call fron Non User Code");  
  22. }  

在Visual Studio 2005中,新引入了"Object Identity While Debugging"的概念,也就是說,系統(tǒng)給在VS調試階段的每個對象,都可以賦予一個別名,在VS調試時,直接引用該別名就可以了。

假設在VS調試的時候,需要跟蹤比如dataset或者hashtable等對象,這些對象中包含了很多其他的子對象,如果想對這些數(shù)量眾多的子對象進行跟蹤的話,將十分麻煩。在Visual Studio 2005中,可以使用object identity(對象標識)的方法去標記每一個對象。#t#

比如,在一個windows應用程序中,創(chuàng)建了一個dataset,并將其綁定到datagridview中去。如將sql server 的northwind數(shù)據(jù)庫中的orders和orderdetail表中的數(shù)據(jù)讀出填充到dataset里去,則在VS調試時,設置一個斷點放在 dataset里填充了數(shù)據(jù)之后的那行,這時,在監(jiān)視窗口中,鼠標展開this.northwindData這個dataset,如下圖所示,找到 orders這個table,然后鼠標右鍵,會彈出一個菜單,選擇其中的" Make Object ID"。


文章題目:幾招教會您VS調試困惑
網站網址:http://www.dlmjj.cn/article/cogpdeg.html