11個強(qiáng)大的VisualStudio調(diào)試小技巧

2024-01-17    分類: 網(wǎng)站建設(shè)

調(diào)試是軟件開發(fā)周期中很重要的一部分。它具有挑戰(zhàn)性,一起也很讓人疑問和煩惱??偟膩碚f,關(guān)于稍大一點的程序,調(diào)試是不可避免的。比來幾年,調(diào)試東西的開展讓許多調(diào)試使命變的越來越簡略和省時。

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

1 懸停鼠標(biāo)檢查表達(dá)式值

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

2 在運轉(zhuǎn)過程中改動變量值

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

3 設(shè)置下一個運轉(zhuǎn)方位

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

4 修正然后持續(xù)運轉(zhuǎn)

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

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

5 一個便利的檢查窗口

大多數(shù)現(xiàn)代的調(diào)試器都有檢查窗口??墒?,visual studio的檢查窗口運用格外簡略,你能很便利的添加和刪去變量。只需在窗口里點擊空白行,輸入表達(dá)式然后按enter鍵?;蛟S點擊表達(dá)式,按delete鍵刪去不需求的表達(dá)式。

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

6 注釋反匯編

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

7 倉庫信息的線程窗口

調(diào)試多線程代碼是很苦楚的?;蛟S也是風(fēng)趣的。這取決于你的調(diào)試器。Visual studio 一個很贊的功用就是在線程窗口檢查線程的倉庫信息。你能很便利的直接看到一切線程以及他們的倉庫信息。

8 條件斷點

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

9 內(nèi)存窗口

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

10 跳轉(zhuǎn)到界說

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

11 指令窗口

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

文章標(biāo)題:11個強(qiáng)大的VisualStudio調(diào)試小技巧
文章分享:http://www.muchs.cn/news12/314062.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、關(guān)鍵詞優(yōu)化、自適應(yīng)網(wǎng)站電子商務(wù)、標(biāo)簽優(yōu)化全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作