亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 編程設計 > 正文

Visual Studio中11個強大的調試技巧和方法

2020-07-14 13:36:06
字體:
來源:轉載
供稿:網友

調試是軟件開發周期中很重要的一部分。它具有挑戰性,同時也很讓人疑惑和煩惱??偟膩碚f,對于稍大一點的程序,調試是不可避免的。最近幾年,調試工具的發展讓很多調試任務變的越來越簡單和省時。

這篇文章總結了可能節省你大量時間的11個Visual studio的調試技巧和方法。

1 懸停鼠標查看表達式值

1. Hover mouse to evaluate expression

調試是很有挑戰性的。比如在函數內逐步運行可以看出哪里出錯,查看堆棧信息可以知道函數被誰調用等等……但是無論哪種情況下,查看表達式和局部變量的值都是很麻煩的(把表達式和局部變量放到watch窗口里)。一種更簡單的方法,把鼠標停在所需查看的數據上。如果是類或結構,那么點擊展開可以很方便快速地查看其字段。

2 在運行過程中改變變量值

2. Change values on-the-fly

調試器不僅僅是分析程序崩潰和詭異行為的工具,還可以通過逐步調試檢查數據和行為是否符合程序預期的方法解決許多bug。有時,你會想是否設置某些條件為真,程序就能正確運行了。其實你只要把鼠標移動到變量上,雙擊值,然后輸入你需要的值。這樣就不需要修改代碼,重啟程序了。

3 設置下一個運行位置

3. Set next statement

一個典型的調試案例是我們經常會用逐步調試的方法去分析為什么函數出錯了。這時你遇到這個函數調用其他函數返回錯誤,而這個錯誤不是你想要的,你該怎么辦?重啟調試器?這里有個更好的方法,直接把黃色的運行位置箭頭拖到你想要的運行位置。其實就是跳過中間運行代碼,直接到想要的位置。很簡單吧。

4 編輯然后繼續運行

4. Edit and continue

在運行一個很復雜的程序和插件時,發現一個錯誤,但是不想浪費時間去重編譯重啟動程序。很簡單,只要在這個位置修改這個bug,然后繼續調試。Visual studio會修改這個程序,使得你可以繼續調試而不需要重啟程序。

值得注意的是“編輯然后繼續運行”這個功能有幾個限制。一,它不能在64位代碼上使用。如果想使用這個功能,到項目設置里的編譯選項,選擇”x86”作為目標平臺。不要擔心,這目標平臺在reslease配置是和”debug是分離的,也就是說依然是”Any CPU”的設置。二,“編輯然后繼續運行”這個功能僅適用于一個函數內部改變。如果你想要改變這個函數的聲明或者增加新的方法,你只能選擇重啟程序,或者不做任何改變繼續。如果修改的方法中包含lambda表達式,則意味著修改了編譯器自動生成的委托類型,這樣會導致編譯器停止運行。

5 一個方便的查看窗口

5. A convenient watch window

大部分現代的調試器都有查看窗口。但是,visual studio的查看窗口使用特別簡單,你能很方便的增加和刪除變量。只要在窗口里點擊空白行,輸入表達式然后按enter鍵?;蛘唿c擊表達式,按delete鍵刪除不需要的表達式。

在調試窗口不僅僅可以查看普通的變量值,甚至可以輸入$handles去追蹤打開的句柄數量,$err去查看函數的錯誤代碼(然后使用 Tools->Error 查看錯誤代碼的描述)或者輸入 @eax(在64位下是@rax )查看包含函數返回值的寄存器值。

6 注釋反匯編

6. Annotated disassembly

使用內部的反匯編功能使得優化局部代碼更加簡單。Visual studio可以在你的每一行代碼下顯示匯編指令,并且可以逐步調試匯編代碼,也可以在任意位置設置斷點。查看和修改匯編代碼類似于c++。

7 堆棧信息的線程窗口

7. Threads window with stacks

調試多線程代碼是很痛苦的?;蛟S也是有趣的。這取決于你的調試器。Visual studio 一個很贊的功能就是在線程窗口查看線程的堆棧信息。你能很方便的直接看到所有線程以及他們的堆棧信息。

8 條件斷點

8. Conditional breakpoints

如果你想重現一個小概率事件,但是斷點在大量不需要的條件下也會觸發。你可以很簡單的設置條件斷點。在斷點窗口設置該斷點條件,Visual studio 會自動忽略不符合條件的斷點。

9 內存窗口

9. Memory window

一些bug是由錯誤的結構定義、缺少對齊屬性等原因引起的。查看每行內存的內容很容易定位和解決這些bug. Visual studio 的內存窗口可以把數據翻譯成8/16/32/64-bit數字或者浮點數。你可以在編輯窗口直接改變數值。

10 跳轉到定義

10. Go To Definition

如果你在解決別人寫的代碼一個bug,會遇到“這個類型是什么”“這個函數做什么的”之類的問題,你可以使用visual studio的跳轉到定義的命令來查看類型或函數的定義。

11 命令窗口

11. Command Window

這個小技巧是由chaau建議的,它能節省你大量的時間。Visual studio支持一個命令窗口,你可以通過菜單View->Other Windows->Command Window 打開。你可以在窗口里輸入不同命令使調試自動化。比如,可以通過很簡單的命令去的測試MFC的COleDateTime變量。

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美亚洲另类制服自拍| 成人h视频在线观看播放| 亚洲成人激情视频| 亚洲电影天堂av| 日韩av免费在线| 久久久亚洲欧洲日产国码aⅴ| 午夜精品久久久久久久99黑人| 国内久久久精品| 欧美成人在线免费视频| 国产精品成人播放| 国产精品午夜国产小视频| 精品国产一区二区三区久久| 久久久精品中文字幕| 亚洲欧美另类在线观看| 日韩在线观看免费全集电视剧网站| 中文字幕av一区| 精品香蕉一区二区三区| 国产精品三级久久久久久电影| 51精品国产黑色丝袜高跟鞋| 欧美成人精品在线观看| 一区二区三区回区在观看免费视频| 午夜精品久久久久久99热| 国产剧情日韩欧美| 色诱女教师一区二区三区| 欧美在线观看视频| 色综合久久悠悠| 久久激情视频久久| 国产精品视频26uuu| 国产精品96久久久久久又黄又硬| 亚洲欧美日韩国产成人| 国产69精品久久久久9999| 91中文字幕在线| 日韩精品在线观看一区二区| 国产精品爽黄69| 国产精品久久久久久久久久久久| 亚洲欧美日韩综合| 国内精品久久久久久久| 91天堂在线观看| 欧美日韩国产麻豆| 亚洲精品之草原avav久久| 亚洲一区二区福利| 欧美多人乱p欧美4p久久| 亚洲aa在线观看| 欧美成人剧情片在线观看| 国产精品三级网站| 久久精品国产91精品亚洲| 亚洲精品网站在线播放gif| 97视频在线免费观看| 在线观看国产精品91| 中文字幕亚洲一区二区三区五十路| 欧美午夜丰满在线18影院| 欧美精品成人91久久久久久久| 国内精品久久影院| 亚洲品质视频自拍网| 欧美性少妇18aaaa视频| 精品成人在线视频| 91亚洲国产成人精品性色| 亚洲第一精品夜夜躁人人爽| 欧美激情综合色综合啪啪五月| 在线精品视频视频中文字幕| 久久久国产精彩视频美女艺术照福利| yellow中文字幕久久| 亚洲乱码国产乱码精品精| 色婷婷久久av| 日日摸夜夜添一区| 日韩一区二区三区在线播放| 欧美午夜精品久久久久久浪潮| 91色琪琪电影亚洲精品久久| 青青青国产精品一区二区| 亚洲国产高清高潮精品美女| 国产精品羞羞答答| 欧美性猛交xxxx乱大交3| 欧美激情aaaa| 欧美日韩国产123| 亚洲精品日韩丝袜精品| 国产日韩欧美中文在线播放| 成人欧美一区二区三区在线湿哒哒| 日韩免费在线视频| 欧美成人h版在线观看| 欧洲美女免费图片一区| 草民午夜欧美限制a级福利片| 国产91色在线|免| 久久久久久国产精品| 亚洲精品久久久久久久久久久| 日韩中文字幕视频在线| 国产成人综合一区二区三区| 视频一区视频二区国产精品| 亚洲石原莉奈一区二区在线观看| 91免费国产网站| 国模视频一区二区三区| 欧美另类99xxxxx| 92看片淫黄大片欧美看国产片| 久久亚洲精品网站| 亚洲xxxxx电影| 欧美在线免费看| 97国产精品久久| 在线观看欧美www| 亚洲福利视频在线| 精品久久久久久中文字幕| 欧美性一区二区三区| 国产精品美女午夜av| 91产国在线观看动作片喷水| 97久久伊人激情网| 久久久91精品国产一区不卡| 欧美二区乱c黑人| 亚洲国产成人久久综合| 日本一区二区在线免费播放| 亚洲色图美腿丝袜| 日韩av在线播放资源| 欧美亚洲在线播放| 国产日韩欧美91| 亚洲欧美一区二区三区四区| 国产精品入口日韩视频大尺度| 日韩福利在线播放| 日韩免费av一区二区| 91精品久久久久久久久久久久久| 日韩av手机在线| 欧美最猛性xxxxx(亚洲精品)| 91精品国产777在线观看| 久久精品国产精品| 成人精品久久一区二区三区| 久久香蕉精品香蕉| 欧美一区二区三区图| 国产午夜精品美女视频明星a级| 狠狠做深爱婷婷久久综合一区| 永久555www成人免费| 亚洲美女激情视频| 欧美极品少妇xxxxⅹ裸体艺术| 菠萝蜜影院一区二区免费| 色诱女教师一区二区三区| 96精品视频在线| 一本一本久久a久久精品综合小说| 国内精品久久久久久久| 91色在线观看| 日本欧美在线视频| 国产精品三级美女白浆呻吟| 日韩一级黄色av| 久久久女人电视剧免费播放下载| 亚洲国产欧美一区二区丝袜黑人| 国产精品视频内| 欧美日韩一区二区在线播放| 91av视频在线观看| 国产精品久久久久久久久久小说| 一区二区三区无码高清视频| 国产视频欧美视频| 亚洲日本欧美日韩高观看| 最新国产精品亚洲| 亚洲成人xxx| 国产99久久精品一区二区 夜夜躁日日躁| 国产一区二区三区网站| 亚洲毛茸茸少妇高潮呻吟| 欧美高清在线观看| 日本精品一区二区三区在线播放视频| 亚洲精品一区久久久久久| 国产原创欧美精品| 亚洲黄色片网站| 97av在线视频| 久久精品国产亚洲7777| 91精品国产一区| 日韩va亚洲va欧洲va国产| 欧美日韩国产中文精品字幕自在自线| 高清一区二区三区四区五区| 91视频国产一区| 青青草原一区二区|