婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 12個Visual Studio調試效率技巧(小結)

12個Visual Studio調試效率技巧(小結)

熱門標簽:外呼系統怎么群發短信 鶴壁高頻外呼系統多少錢一個月 谷歌地圖標注日期 宿遷怎么辦理400電話 蘇州呼叫中心外呼系統哪家強 聯通外呼系統電腦app軟件 400電話辦理費用低 400電話申請到底哪家好 地圖標注項目幾個月

在這篇文章中,我們假定讀者了解 VS 基本的調試知識,如:

F5 開始使用調試器運行程序
F9 在當前行設置斷點
F10 運行到下一個斷點處
F5 從被調試的已停止程序恢復執行
F11 步進到函數內(如果當前程序指針指向一個函數)
F10 步過函數(如果當前程序指針指向一個函數)
Shift+F11 步出執行的函數
暫停執行
附加到進程
鼠標懸停時快速查看源代碼中的元素
調試窗口:局部變量、監視、即時窗口、模塊、調用堆棧、異常設置

許多開發人員使用這個功能強大的工具包來處理調試會話。然而, Visual Studio 調試工具提供了更多的功能。下面是一系列Visual Studio調試效率技巧。注意,這些提示和快捷方式已經在的Visual studio 2019 16.6 EN-US版本中進行了驗證,驗證時 Visual studio 沒有安裝擴展。

1、運行到光標位置

使用快捷鍵 Ctrl+F10 ,您可以讓調試器運行到光標所在行位置。

2、通過點擊鼠標,運行到當前位置

在調試運行的程序時,通過鼠標懸停在當前行的代碼上時,出現綠色的符號,可以點擊此符號,直接讓斷點運行到此處。

 

3、在此處作為下一條要執行的語句

在調試運行的程序時,通過鼠標懸停在當前行的代碼上時,通過按住 Ctrl 鍵轉換為將此處作為下一條要執行的語句。它與通過綠色箭頭符號運行到這里不同,此功能將會跳過中間的語句,直接將斷點跳轉到此處。因此,在下面的動圖中,我們可以在監視窗口中引用obj仍然為null,中間的 MyClass 構造函數并沒有被執行。

 

4、數據斷點:當值發生變化時,觸發中斷(值更改時中斷)

當你設置一個非靜態的設置器為斷點時,當所有對象的屬性的值發生更改時觸發斷點。通過局部窗口(監視器窗口)右鍵點擊: 值更改時中斷 菜單,單個對象也可以獲得相同的行為。

下面的動畫說明了這個功能,只有當 obj2.Prop 發生變化時,命中斷點,而 obj1.Prop 發生變化時沒有命中斷點。

注意:數據斷點綁定到活動對象時,旨在調試期間起作用。因此,一旦調試過程停止,設置的斷點就會丟失,在以后的調試過程中不能重用它。

5、條件斷點

可以將條件附加到斷點中,以便盡在特定場景中觸發中斷。在下面的動圖中,我們在循環中定義條件 i>6 的斷點。然后點擊 繼續 ,可以看到一旦斷點停止, i 的值實際上變成了 7

6、跟蹤斷點

在遇到斷點時,停止程序執行時最常見的操作。但是,你可以選擇在輸出窗口中不終止(或帶終止)打印一些跟蹤信息。下面的動圖說明了這種可能性。我們在輸出窗口中跟蹤i從0到9的值。注意:跟蹤斷點在編輯器的斷點顯示位置顯示為菱形形狀。

注意,條件和跟蹤操作都可以在斷點上指定。

 

7、跟蹤超出作用域的對象

在監視窗口中,通過當前執行范文內引用的名稱來跟蹤對象。但是,當這樣的跟蹤引用超出作用域時,即使在引用對象仍處于活動狀態時,它在監視窗口的上下文也不安的毫無意義并且被禁用。

在許多情況下,我們想繼續跟蹤作用域外對象的狀態。為此,請在監視窗口中右鍵單擊此類引用,單擊菜單 [Make Object ID] 創建對象ID(M) ,并要在監視器中添加$1(或者$2,$3,...,取決于你已經創建了多個對象ID)。

下面的動圖演示了如何跟蹤作用域外對象的屬性獲取器的狀態,該屬性獲取器以字符串的形式返回實際的日期時間。它很好地顯示了當引用 objFct() 上下文中超出作用域時,要觀看的 obj 項將被禁用,而 $1 仍然會獲得更新。

 

8、查看函數返回的值

函數返回的值有時在源代碼中被忽略,或者有時這個值在調試時無法被顯示的訪問。

這樣的返回值可以顯示在 調試->窗口->自動窗口 中。偽變量 $ReturnValue 也可以在即時窗口和監視窗口中使用,以方便查看最后一個函數調用的返回值。

注意,菜單 調試->窗口->自動窗口 僅在 Visual Studio 調試器附加到進程并且程序被調試器暫停時可用。

9、重新附加到進程

Visual Studio 2017 開始,重新附加到進程 Shift+Alt+P 工具被提出,并且非常方便。將調試器附加到某個進程后, Visual Studio 會記住它,并建議將調試器重新附加到同一進程。斜體也一樣,因為這里有一個關于進程標識的啟發式方法:

  • 如果已附加的進程仍然運行著,重新附加到進程,重新附加到它。
  • 否則,Visual Studio將嘗試查找和前一個進程名具有相同名稱的單進程,并將調試器重新附加到該進程。
  • 如果找到幾個使用此名稱的進程,則打開“附加到進程”對話框,只顯示名稱相同的進程
  • 如果找不到具有此名稱的進程,則顯示“附加到進程”對話框

重新附加到進程也適用于涉及多個進程的調試會話。在這種情況下, Visual Studio 會嘗試使用上述相同的啟發式方法來查找它附加到的所有進程。

10、在即時窗口和在觀察窗口的 No-Side-Effect 評估

有時,在即時窗口或監視窗口中評估表達式時,某些狀態會更改。這種行為通常時不希望發生的。你不想僅僅因為需要評估表達式的值而破壞調試程序的狀態。這種情況被稱為 Heisenbug ,該術語時物理學家 Werner Heisenberg 的雙關語,它首先斷言了量子力學的觀察者效應,該現象指出,觀察系統的行為不可避免的會改變器狀態。

為了避免更改任何狀態,你可以在表達式后面加上 nse (No-Side-Effect)。下面的動圖說明了這種可能性(在監視窗口中監視 State 的值是否有變化)。

下面這種動圖是 nse 在監視窗口的使用。由于 SideEffectFct() 所觀察的項中有 Refresh 評估按鈕,所以此示例比前一個示例更簡單。

11、在源碼中顯示線程

調試多線程應用程序是有名的復雜。希望 在源碼中顯示線程 按鈕能提供很大的幫助。它在編輯器的左側邊欄引入標記圖標,以跟蹤其他線程被暫停的位置。這個標記可以用來顯示線程 ID ,并最終切換到另一個線程。注意:如果至少兩個線程在同一位置暫停,則會顯示不同的標記符號。

更多調試多線程應用程序的技巧可以在這個微軟文檔中找到: Get started debugging multithreaded applications (C#, Visual Basic, C++)

https://docs.microsoft.com/en-us/visualstudio/debugger/get-started-debugging-multithreaded-apps?view=vs-2019

下面是這個演示的源代碼,如果你想演示它,可以進行參考:

using System;
using System.Threading;
 
class Program {
  static void Main() {
   for (int i=0; i 5; i++) {
     // Avoid capturing a loop variable in the lambda below
     int j = i;
     // So 2 thread are blocked on '0' case
     if (j == 1) { j = 0; } 
     ThreadPool.QueueUserWorkItem(delegate { Method(j); });
   }
   Thread.Sleep(60000);
  }
  static void Method(int id) {
   switch(id) {
     case 0:
      Thread.Sleep(60000); break;
     case 1:
      Thread.Sleep(60000); break;
     case 2:
      Thread.Sleep(60000); break;
     case 3:
      Thread.Sleep(60000); break;
     case 4:
      Thread.Sleep(60000); break;
   }
  }
}

12、從反編譯的IL代碼中調試源代碼

我們經常依賴一些黑盒組件:我們沒有源代碼的組件。

但是,在調試復雜行為時,觀察甚至調試引用的黑盒組件引用的邏輯。這就是為什么從16.5版本開始, Visual Studio 2019 可以從編譯好的程序中生成一些源代碼。這樣的源代碼是可以調試的。這個特性是基于開源軟件(OSS)工程:ILSpy( https://github.com/icsharpcode/ILSpy )。

反編譯菜單可以在模塊窗口的組件右鍵菜單(如下面的動圖所示)和 Source Not FoundNo Symbols Loaded 對話框中給出。

IL 代碼反編譯為源代碼不可能是完美的,因為一些源代碼信息在編譯時丟失了。因此,這個特性有一些限制,在這個官方文檔的最后會解釋: Generate source code from .NET assemblies while debugging

https://docs.microsoft.com/en-us/visualstudio/debugger/decompilation?view=vs-2019

結尾

Visual Studio非常出色,在調試方面尤其出色。 在這里,我試圖選擇一些既隱藏又經常有用的技巧,希望它們能幫助您提高生產率。

到此這篇關于12個Visual Studio調試效率技巧(小結)的文章就介紹到這了,更多相關VisualStudio調試技巧內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 分享Visual Studio原生開發的10個調試技巧(2)
  • Visual Studio調試技巧匯總
  • 分享Visual Studio原生開發的10個調試技巧

標簽:襄陽 哈爾濱 鄂爾多斯 遵義 錫林郭勒盟 雙鴨山 丹東 莆田

巨人網絡通訊聲明:本文標題《12個Visual Studio調試效率技巧(小結)》,本文關鍵詞  12個,Visual,Studio,調試,效率,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《12個Visual Studio調試效率技巧(小結)》相關的同類信息!
  • 本頁收集關于12個Visual Studio調試效率技巧(小結)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    成人av免费在线播放| 中文字幕在线不卡一区二区三区 | 久久精品人人做| 韩国三级中文字幕hd久久精品| 欧美一级国产精品| 国产一区啦啦啦在线观看| 中文成人综合网| 色综合天天狠狠| 天使萌一区二区三区免费观看| 欧美军同video69gay| 日本欧美一区二区三区乱码| 欧美v亚洲v综合ⅴ国产v| 国产精品18久久久久久久久| 亚洲欧洲精品一区二区三区不卡 | 午夜精品久久久久久不卡8050| 日韩视频一区二区在线观看| 国产91富婆露脸刺激对白| 亚洲美女在线国产| 欧美日本视频在线| 国产成人av电影| 一区二区三区不卡在线观看 | 国产日产精品一区| 色综合天天综合网天天狠天天| 亚洲一区在线电影| 精品国产亚洲一区二区三区在线观看| 成人中文字幕在线| 亚洲福中文字幕伊人影院| 日韩欧美国产一区二区在线播放| 成人av电影在线播放| 亚洲成人www| 国产精品黄色在线观看| 91精品欧美福利在线观看| 丁香桃色午夜亚洲一区二区三区| 亚洲一区二区视频在线观看| 久久亚洲一级片| 欧美主播一区二区三区| 欧美日韩精品欧美日韩精品| 丰满放荡岳乱妇91ww| 日韩国产精品91| 亚洲色图一区二区三区| 久久久蜜桃精品| 这里只有精品视频在线观看| 99久久综合99久久综合网站| 蜜桃久久av一区| 一级做a爱片久久| 中文字幕不卡的av| 日韩欧美国产综合在线一区二区三区| 91免费精品国自产拍在线不卡| 国产一区二区伦理片| 日韩av一级电影| 亚洲国产中文字幕| 国产精品久久久99| 久久久91精品国产一区二区三区| 制服丝袜在线91| 欧美日韩亚洲高清一区二区| 91麻豆免费观看| 福利91精品一区二区三区| 韩国午夜理伦三级不卡影院| 蜜臀99久久精品久久久久久软件| 午夜婷婷国产麻豆精品| 亚洲裸体xxx| 国产精品乱码人人做人人爱| 久久夜色精品国产欧美乱极品| 欧美电影免费观看高清完整版在线观看| 一本大道av一区二区在线播放| 懂色av中文一区二区三区 | 亚洲国产精品一区二区久久| 亚洲少妇30p| 亚洲老司机在线| 亚洲日本一区二区三区| 亚洲欧洲日韩在线| 中文在线免费一区三区高中清不卡| 精品美女在线播放| 精品对白一区国产伦| 精品国产亚洲在线| 久久综合狠狠综合久久综合88 | 亚洲线精品一区二区三区八戒| 中文字幕一区av| 中文字幕一区二区三区色视频| 中文字幕一区二区视频| 亚洲美女少妇撒尿| 亚洲gay无套男同| 午夜不卡av在线| 美日韩一区二区三区| 九九国产精品视频| 国产精品12区| 成人性色生活片免费看爆迷你毛片| 国产成人在线色| www.日韩大片| 欧美日韩国产高清一区二区| 欧美另类变人与禽xxxxx| 欧美一级淫片007| 久久色成人在线| 亚洲视频你懂的| 亚洲五月六月丁香激情| 人人狠狠综合久久亚洲| 国内成人自拍视频| 91老司机福利 在线| 欧美视频在线一区二区三区| 91精品国产91综合久久蜜臀| 久久九九久久九九| 亚洲精品欧美二区三区中文字幕| 日韩高清不卡一区二区三区| 国产精品夜夜嗨| 欧美性猛片xxxx免费看久爱| 精品三级在线观看| 亚洲图片激情小说| 奇米色一区二区| www.成人在线| 制服丝袜av成人在线看| 中文在线资源观看网站视频免费不卡 | 成人精品免费看| 欧美精品18+| 中文字幕av不卡| 青青草原综合久久大伊人精品优势| 国产乱人伦偷精品视频免下载| 色94色欧美sute亚洲13| 26uuu色噜噜精品一区| 亚洲精品国产精品乱码不99| 国产一区二区视频在线| 欧美在线综合视频| 欧美国产综合一区二区| 91在线精品一区二区| 日韩欧美国产一区二区在线播放| 亚洲丝袜自拍清纯另类| 久久99精品久久久久久国产越南| 91麻豆福利精品推荐| 久久久久久**毛片大全| 丝瓜av网站精品一区二区| 91丨porny丨户外露出| 2023国产一二三区日本精品2022| 亚洲精选视频在线| 国产福利精品导航| 日韩欧美亚洲另类制服综合在线| 一区二区三区四区不卡视频| 国产v日产∨综合v精品视频| 欧美一级在线免费| 亚洲无线码一区二区三区| 97se亚洲国产综合在线| 久久久久久97三级| 韩日欧美一区二区三区| 日韩欧美精品三级| 亚洲国产一区二区三区青草影视 | 欧美在线视频日韩| 亚洲色欲色欲www| 成人教育av在线| 欧美国产综合一区二区| 国产麻豆视频精品| 日韩欧美高清一区| 裸体在线国模精品偷拍| 91麻豆精品国产91久久久资源速度 | 国产成人精品影视| 日韩午夜三级在线| 天天做天天摸天天爽国产一区| 色婷婷av一区二区三区gif | 欧美精品一区二区三区久久久| 日本人妖一区二区| 制服.丝袜.亚洲.中文.综合| 午夜精品影院在线观看| 在线不卡免费欧美| 日韩影院在线观看| 日韩免费高清视频| 国产美女在线观看一区| 久久久亚洲精品一区二区三区| 精品亚洲免费视频| 精品一区二区三区av| 91精品国模一区二区三区| 美腿丝袜亚洲色图| 欧美精品一区二区三区一线天视频 | 久久久青草青青国产亚洲免观| 久久国产人妖系列| 久久亚洲精品国产精品紫薇| 国产一本一道久久香蕉| 欧美经典三级视频一区二区三区| 国产宾馆实践打屁股91| 国产精品久久久久永久免费观看| 成人中文字幕在线| 亚洲精品老司机| 欧美群妇大交群中文字幕| 六月丁香综合在线视频| 国产性天天综合网| 色乱码一区二区三区88| 五月天激情综合| 精品精品国产高清a毛片牛牛| 国产精品香蕉一区二区三区| 欧美国产成人在线| 91国产免费观看| 蜜臀99久久精品久久久久久软件| 久久精品网站免费观看| av中文字幕不卡| 视频一区视频二区在线观看| 精品国偷自产国产一区| 不卡一二三区首页| 日本亚洲一区二区| 国产精品伦一区| 91麻豆精品国产91久久久使用方法| 国产精华液一区二区三区| 亚洲在线观看免费视频| 91精品国产入口| 懂色av一区二区在线播放|