服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - ASP.NET教程 - 11個強大的Visual Studio調試小技巧

11個強大的Visual Studio調試小技巧

2019-11-16 11:39asp.net ASP.NET教程

這篇文章總結了可能節省你大量時間的11個Visual studio的調試技巧和方法,需要的朋友可以參考下

調試是軟件開發周期中很重要的一部分。它具有挑戰性,一起也很讓人疑問和煩惱。總的來說,關于稍大一點的程序,調試是不可避免的。比來幾年,調試東西的開展讓許多調試使命變的越來越簡略和省時。

這篇文章總結了能夠節約你很多時刻的11個Visual studio的調試竅門和辦法。

1 懸停鼠標檢查表達式值

11個強大的Visual Studio調試小技巧

調試是很有挑戰性的。比方在函數內逐漸運轉能夠看出哪里犯錯,檢查倉庫信息能夠曉得函數被誰調用等等……可是無論哪種情況下,檢查表達式和部分變量的值都是很費事的(把表達式和部分變量放到watch窗口里)。一種更簡略的辦法,把鼠標停在所需檢查的數據上。若是是類或布局,那么點擊翻開能夠很便利疾速地檢查其字段。

2 在運轉過程中改動變量值

11個強大的Visual Studio調試小技巧

調試器不僅僅是剖析程序潰散和怪異行動的東西,還能夠經過逐漸調試檢查數據和行動能否契合程序預期的辦法處理許多bug。有時,你會想能否設置某些條件為真,程序就能正確運轉了。其實你只需把鼠標移動到變量上,雙擊值,然后輸入你需求的值。這樣就不需求修正代碼,重啟程序了。

3 設置下一個運轉方位

11個強大的Visual Studio調試小技巧

一個典型的調試事例是咱們常常會用逐漸調試的辦法去剖析為什么函數犯錯了。這時你遇到這個函數調用其他函數回來過錯,而這個過錯不是你想要的,你該怎么辦?重啟調試器?這里有個非常好的辦法,直接把黃色的運轉方位箭頭拖到你想要的運轉方位。其實就是越過中心運轉代碼,直接到想要的方位。很簡略吧。

4 修正然后持續運轉

11個強大的Visual Studio調試小技巧

在運轉一個很雜亂的程序和插件時,發現一個過錯,可是不想浪費時刻去重編譯重啟動程序。很簡略,只需在這個方位修正這個bug,然后持續調試。Visual studio會修正這個程序,使得你能夠持續調試而不需求重啟程序。

值得注意的是“修正然后持續運轉”這個功用有幾個約束。一,它不能在64位代碼上運用。若是想運用這個功用,到項目設置里的編譯選項,挑選”x86”作為方針渠道。不要憂慮,這方針渠道在reslease裝備是和”debug是別離的,也就是說依然是”Any CPU”的設置。二,“修正然后持續運轉”這個功用僅適用于一個函數內部改動。若是你想要改動這個函數的聲明或許添加新的辦法,你只能挑選重啟程序,或許不做任何改動持續。若是修正的辦法中包括lambda表達式,則意味著修正了編譯器主動生成的托付類型,這樣會致使編譯器中止運轉。

5 一個便利的檢查窗口

11個強大的Visual Studio調試小技巧

大多數現代的調試器都有檢查窗口。可是,visual studio的檢查窗口運用格外簡略,你能很便利的添加和刪去變量。只需在窗口里點擊空白行,輸入表達式然后按enter鍵。或許點擊表達式,按delete鍵刪去不需求的表達式。

在調試窗口不僅僅能夠檢查一般的變量值,乃至能夠輸入$handles去追尋翻開的句柄數量,$err去檢查函數的過錯代碼(然后運用 Tools->Error 檢查過錯代碼的描繪)或許輸入 @eax(在64位下是@rax )檢查包括函數回來值的寄存器值。

6 注釋反匯編

11個強大的Visual Studio調試小技巧

運用內部的反匯編功用使得優化部分代碼愈加簡略。Visual studio能夠在你的每一行代碼下顯現匯編指令,而且能夠逐漸調試匯編代碼,也能夠在恣意方位設置斷點。檢查和修正匯編代碼類似于c++。

7 倉庫信息的線程窗口

11個強大的Visual Studio調試小技巧

調試多線程代碼是很苦楚的。或許也是風趣的。這取決于你的調試器。Visual studio 一個很贊的功用就是在線程窗口檢查線程的倉庫信息。你能很便利的直接看到一切線程以及他們的倉庫信息。

8 條件斷點

11個強大的Visual Studio調試小技巧

若是你想重現一個小概率事件,可是斷點在很多不需求的條件下也會觸發。你能夠很簡略的設置條件斷點。在斷點窗口設置該斷點條件,Visual studio 會主動疏忽不契合條件的斷點。

9 內存窗口

11個強大的Visual Studio調試小技巧

一些bug是由過錯的布局界說、短少對齊特點等緣由導致的。檢查每行內存的內容很簡單定位和處理這些bug. Visual studio 的內存窗口能夠把數據翻譯成8/16/32/64-bit數字或許浮點數。你能夠在修正窗口直接改動數值。

10 跳轉到界說

11個強大的Visual Studio調試小技巧

若是你在處理他人寫的代碼一個bug,會遇到“這個類型是什么”“這個函數做什么的”之類的疑問,你能夠運用visual studio的跳轉到界說的指令來檢查類型或函數的界說。

11 指令窗口

11個強大的Visual Studio調試小技巧

這個小竅門是由chaau主張的,它能節約你很多的時刻。Visual studio撐持一個指令窗口,你能夠經過菜單View->Other Windows->Command Window 翻開。你能夠在窗口里輸入不一樣指令使調試主動化。比方,能夠經過很簡略的指令去的測驗MFC的COleDateTime變量。

? dt.Format(“%Y-%m-%d %H:%M:%S”)

英文原文:Ivan Shcherbakov,編譯:@halftone_被禁用了

延伸 · 閱讀

精彩推薦
法甲赛程积分