亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Visual Studio調(diào)試技巧匯總

 更新時(shí)間:2015年11月03日 11:00:38   投稿:lijiao  
這篇文章總結(jié)了可能節(jié)省你大量時(shí)間的11個(gè)visual studio的調(diào)試技巧和方法,感興趣的小伙伴們可以參考一下

調(diào)試是軟件開發(fā)周期中很重要的一部分。它具有挑戰(zhàn)性,同時(shí)也很讓人疑惑和煩惱。總的來(lái)說(shuō),對(duì)于稍大一點(diǎn)的程序,調(diào)試是不可避免的。最近幾年,調(diào)試工具的發(fā)展讓很多調(diào)試任務(wù)變的越來(lái)越簡(jiǎn)單和省時(shí)。

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

  調(diào)試是很有挑戰(zhàn)性的。比如在函數(shù)內(nèi)逐步運(yùn)行可以看出哪里出錯(cuò),查看堆棧信息可以知道函數(shù)被誰(shuí)調(diào)用等等。

  但是無(wú)論哪種情況下,查看表達(dá)式和局部變量的值都是很麻煩的(把表達(dá)式和局部變量放到watch窗口里)。

  一種更簡(jiǎn)單的方法,把鼠標(biāo)停在所需查看的數(shù)據(jù)上。如果是類或結(jié)構(gòu),那么點(diǎn)擊展開可以很方便快速地查看其字段。

2 在運(yùn)行過(guò)程中改變變量值

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

3 設(shè)置下一個(gè)運(yùn)行位置

  一個(gè)典型的調(diào)試案例是我們經(jīng)常會(huì)用逐步調(diào)試的方法去分析為什么函數(shù)出錯(cuò)了。這時(shí)你遇到這個(gè)函數(shù)調(diào)用其他函數(shù)返回錯(cuò)誤,而這個(gè)錯(cuò)誤不是你想要的,你該怎么辦?重啟調(diào)試器?這里有個(gè)更好的方法,直接把黃色的運(yùn)行位置箭頭拖到你想要的運(yùn)行位置。其實(shí)就是跳過(guò)中間運(yùn)行代碼,直接到想要的位置。很簡(jiǎn)單吧。

4 編輯然后繼續(xù)運(yùn)行

  在運(yùn)行一個(gè)很復(fù)雜的程序和插件時(shí),發(fā)現(xiàn)一個(gè)錯(cuò)誤,但是不想浪費(fèi)時(shí)間去重編譯重啟動(dòng)程序。

  很簡(jiǎn)單,只要在這個(gè)位置修改這個(gè)bug,然后繼續(xù)調(diào)試。Visual studio會(huì)修改這個(gè)程序,使得你可以繼續(xù)調(diào)試而不需要重啟程序。

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

5 一個(gè)方便的查看窗口

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

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

  6 注釋反匯編

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

  7 堆棧信息的線程窗口

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

  8 條件斷點(diǎn)

  如果你想重現(xiàn)一個(gè)小概率事件,但是斷點(diǎn)在大量不需要的條件下也會(huì)觸發(fā)。你可以很簡(jiǎn)單的設(shè)置條件斷點(diǎn)。在斷點(diǎn)窗口設(shè)置該斷點(diǎn)條件,Visual studio 會(huì)自動(dòng)忽略不符合條件的斷點(diǎn)。

  9 內(nèi)存窗口

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

  10 跳轉(zhuǎn)到定義

  如果你在解決別人寫的代碼一個(gè)bug,會(huì)遇到“這個(gè)類型是什么”“這個(gè)函數(shù)做什么的”之類的問(wèn)題,你可以使用visual studio的跳轉(zhuǎn)到定義的命令來(lái)查看類型或函數(shù)的定義。

  11 命令窗口

  這個(gè)小技巧是由chaau建議的,它能節(jié)省你大量的時(shí)間。Visual studio支持一個(gè)命令窗口,你可以通過(guò)菜單View->Other Windows->Command Window 打開。你可以在窗口里輸入不同命令使調(diào)試自動(dòng)化。比如,可以通過(guò)很簡(jiǎn)單的命令去的測(cè)試MFC的COleDateTime變量。

以上就是為大家分享的11個(gè)Visual Studio調(diào)試技巧,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • asp.net DbProviderFactory的使用-示例

    asp.net DbProviderFactory的使用-示例

    NET 2.0有一個(gè)抽象工廠模式的典型應(yīng)用:通過(guò)DBProviderFactory 可以對(duì)不同數(shù)據(jù)庫(kù)進(jìn)行操作。
    2009-11-11
  • .NET?Core使用Autofac容器的DI依賴注入,IOC控制反轉(zhuǎn)及AOP切面編程

    .NET?Core使用Autofac容器的DI依賴注入,IOC控制反轉(zhuǎn)及AOP切面編程

    本文詳細(xì)講解了.NET?Core使用Autofac容器的DI依賴注入,IOC控制反轉(zhuǎn)及AOP切面編程,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • ASP.NET Web頁(yè)生命周期和執(zhí)行的方法介紹

    ASP.NET Web頁(yè)生命周期和執(zhí)行的方法介紹

    這是前幾天去一家公司時(shí),其中當(dāng)時(shí)的一個(gè)筆試題! 我去,看了當(dāng)時(shí)我就暈菜了,所以,就記錄下來(lái),以備以后查看,方便需要的朋友
    2012-10-10
  • ASP.NET Core 5中如何生成PDF文檔

    ASP.NET Core 5中如何生成PDF文檔

    這篇文章主要給大家介紹了關(guān)于ASP.NET Core 5中如何生成PDF文檔的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 使用.net core3.0 正式版創(chuàng)建Winform程序的方法(圖文)

    使用.net core3.0 正式版創(chuàng)建Winform程序的方法(圖文)

    這篇文章主要介紹了使用.net core3.0 正式版創(chuàng)建Winform程序的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • DataList中TextBox onfocus調(diào)用后臺(tái)void靜態(tài)方法及獲取相應(yīng)行數(shù)

    DataList中TextBox onfocus調(diào)用后臺(tái)void靜態(tài)方法及獲取相應(yīng)行數(shù)

    DataList中我放了一個(gè)TextBox 現(xiàn)在的問(wèn)題是當(dāng)我光標(biāo)放到TextBox上的時(shí)候。如果讓onfocus調(diào)用后臺(tái)某一個(gè)void靜態(tài)方法并且在靜態(tài)方法里邊獲取光標(biāo)相應(yīng)的DataList的相應(yīng)行數(shù),本文介紹如何實(shí)現(xiàn),感興趣的朋友可以了解下
    2013-01-01
  • asp.net 權(quán)限管理分析

    asp.net 權(quán)限管理分析

    權(quán)限管理在大中型網(wǎng)站中應(yīng)用十分廣泛,我最近也由于考慮到后期項(xiàng)目中可能需要加入權(quán)限管理部分,開始著手對(duì)權(quán)限管理進(jìn)行研究。以下言論很多都總結(jié)自網(wǎng)絡(luò)。
    2009-05-05
  • asp.net音頻轉(zhuǎn)換之.amr轉(zhuǎn).mp3(利用ffmpeg轉(zhuǎn)換法)

    asp.net音頻轉(zhuǎn)換之.amr轉(zhuǎn).mp3(利用ffmpeg轉(zhuǎn)換法)

    AMR轉(zhuǎn)MP3可實(shí)現(xiàn)將手機(jī)上的AMR錄音轉(zhuǎn)換成流行的MP3格式,以適用更廣泛的應(yīng)用。AMR的體積非常小,適用于存儲(chǔ)在手機(jī)中,當(dāng)我們想將在手機(jī)上的音頻上傳到網(wǎng)絡(luò),就需要將其轉(zhuǎn)換成MP3等流行的格式,本文就是介紹asp.net利用ffmpeg轉(zhuǎn)換法將.amr轉(zhuǎn).mp3的方法,下面來(lái)一起看看吧。
    2016-12-12
  • DropDownList綁定數(shù)據(jù)表實(shí)現(xiàn)兩級(jí)聯(lián)動(dòng)示例

    DropDownList綁定數(shù)據(jù)表實(shí)現(xiàn)兩級(jí)聯(lián)動(dòng)示例

    這篇文章主要介紹了DropDownList綁定數(shù)據(jù)表實(shí)現(xiàn)兩級(jí)聯(lián)動(dòng)具體實(shí)現(xiàn),需要的朋友可以參考下
    2014-03-03
  • ASP.NET使用xslt將xml轉(zhuǎn)換成Excel

    ASP.NET使用xslt將xml轉(zhuǎn)換成Excel

    本文介紹利用Excel軟件生成格式,提取和精簡(jiǎn)之后制作成xslt文件,將xml導(dǎo)入,以xslt為模板,生成新的Excel文件的過(guò)程。
    2016-05-05

最新評(píng)論