最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中利用斷點操作調(diào)試程序的步驟詳解

 更新時間:2017年12月18日 09:04:36   作者:小禾斗  
所謂斷點調(diào)試就是檢測執(zhí)行路徑和數(shù)據(jù)是否正確,中斷游戲運行在線調(diào)試,下面這篇文章主要給大家介紹了關(guān)于C#中利用斷點操作調(diào)試程序的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。

Visual Studio調(diào)試器調(diào)試

我們大家都知道,當代碼不能正常運行時,可以通過調(diào)試定位錯誤。常用的程序調(diào)試操作包括設(shè)置斷點、開始、中斷和停止程序的執(zhí)行、單步執(zhí)行程序以及使程序運行到指定的位置。下面將對這幾種常用的程序調(diào)試操作進行詳細地介紹。話不多說了,來一起看看詳細的介紹吧。

1.斷點操作

斷點通知調(diào)試器,使應(yīng)用程序在某點上(暫停執(zhí)行)或某情況發(fā)生時中斷。發(fā)生中斷時,稱程序和調(diào)試器處于中斷模式。進入中斷模式并不會終止或結(jié)束程序的執(zhí)行,所有元素(如函數(shù)、變量和對象)都保留在內(nèi)存中。執(zhí)行可以在任何時候繼續(xù)。

插入斷點有3種方式:在要設(shè)置斷點的代碼行旁邊的灰色空白中單擊;右鍵單擊要設(shè)置斷點的代碼行,在彈出的快捷菜單中選擇“斷點”→“插入斷點”命令,如圖11.4所示;單擊要設(shè)置斷點的代碼行,選擇菜單中的“調(diào)試”→“切換斷點(G)”命令,如圖11.5所示。

圖11.4 右鍵快捷菜單插入斷點

圖11.5 菜單欄插入斷點

插入斷點后,就會在設(shè)置斷點的行旁邊的灰色空白處出現(xiàn)一個紅色圓點,并且該行代碼也呈高亮顯示,如圖11.6所示。

圖11.6 插入斷點后效果圖

刪除斷點主要有3種方式,分別如下:

(1)可以單擊設(shè)置了斷點的代碼行左側(cè)的紅色圓點。

(2)在設(shè)置了斷點的代碼行左側(cè)的紅色圓點上單擊鼠標右鍵,在彈出的快捷菜單中選擇“刪除斷點”命令,如圖11.7所示。

圖11.7 右鍵快捷菜單刪除斷點

(3)在設(shè)置了斷點的代碼行上單擊鼠標右鍵,在彈出的快捷菜單中選擇“斷點”/“刪除斷點”命令

2.開始執(zhí)行

開始執(zhí)行是最基本的調(diào)試功能之一,從“調(diào)試”菜單(如圖11.8所示)中選擇“開始調(diào)試”菜單,或在源代碼窗口中右鍵單擊可執(zhí)行代碼中的某行,從彈出的快捷菜單中選擇“運行到光標處”菜單,如圖11.9所示。

圖11.8 選擇“啟動調(diào)試”菜單

圖11.9 選擇“運行到光標處”菜單

除了使用上述的方法開始執(zhí)行外,還可以直接單擊工具欄中的按鈕,啟動調(diào)試,如圖11.10所示。

圖11.10 工具欄中的啟動調(diào)試按鈕

如果選擇“啟動調(diào)試”菜單,則應(yīng)用程序啟動并一直運行到斷點,此時斷點處的代碼以黃色底色顯示,如圖11.11所示??梢栽谌魏螘r刻中斷執(zhí)行,以查看值(將鼠標移動到相應(yīng)的變量或者對象上,即可查看其具體值,如圖11.12所示)、修改變量或觀察程序狀態(tài)。

圖11.11 運行到斷點

圖11.12 查看變量的值

如果選擇“運行到光標處”命令,則應(yīng)用程序啟動并一直運行到斷點或光標位置,具體要看是斷點在前還是光標在前,可以在源代碼窗口中設(shè)置光標位置。如果光標在斷點的前面,則代碼首先運行到光標處,如圖11.13所示。

圖11.13 運行到光標處

3.中斷執(zhí)行

當執(zhí)行到達一個斷點或發(fā)生異常時,調(diào)試器將中斷程序的執(zhí)行。選擇“調(diào)試”→“全部中斷”菜單后,調(diào)試器將停止所有在調(diào)試器下運行的程序的執(zhí)行。程序并沒有退出,可以隨時恢復(fù)執(zhí)行,此時應(yīng)用程序處于中斷模式?!罢{(diào)試”菜單中“全部中斷”菜單如圖11.14所示。

圖11.14 “調(diào)試”→“全部中斷”菜單

除了通過選擇“調(diào)試”→“全部中斷”命令中斷執(zhí)行外,也可以單擊工具欄中的按鈕中斷執(zhí)行,如圖11.15所示。

圖11.15 工具欄中的中斷執(zhí)行按鈕

4.停止執(zhí)行

停止執(zhí)行意味著終止正在調(diào)試的進程并結(jié)束調(diào)試會話,可以通過選擇菜單中的“調(diào)試”→“停止調(diào)試”命令來結(jié)束運行和調(diào)試。也可以選擇工具欄中的按鈕停止執(zhí)行。

5.單步執(zhí)行和逐過程執(zhí)行

通過單步執(zhí)行,調(diào)試器每次只執(zhí)行一行代碼,單步執(zhí)行主要是通過逐語句、逐過程和跳出這3種命令實現(xiàn)的?!爸鹫Z句”和“逐過程”的主要區(qū)別是當某一行包含函數(shù)調(diào)用時,“逐語句”僅執(zhí)行調(diào)用本身,然后在函數(shù)內(nèi)的第一個代碼行處停止。而“逐過程”執(zhí)行整個函數(shù),之后在函數(shù)外的第一行代碼處停止。如果位于函數(shù)調(diào)用的內(nèi)部并想返回到調(diào)用函數(shù)時,應(yīng)使用“跳出”,“跳出”將一直執(zhí)行代碼,直到函數(shù)返回,然后在調(diào)用函數(shù)中的返回點處中斷。

當啟動調(diào)試后,可以單擊工具欄中的按鈕執(zhí)行“逐語句”操作,單擊按鈕執(zhí)行“逐過程”操作,單擊按鈕執(zhí)行“跳出”操作,如圖11.16所示。

圖11.16 單步執(zhí)行的3種命令

說明:除了在工具欄中單擊這3個按鈕外,還可以通過快捷鍵執(zhí)行這3種操作,啟動調(diào)試后,按下<F11>鍵執(zhí)行“逐語句”操作、<F10>鍵執(zhí)行“逐過程”操作、<Shift+F10>鍵執(zhí)行“跳出”操作。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • C# LINQ查詢表達式及對應(yīng)LAMBDA表達式的用法

    C# LINQ查詢表達式及對應(yīng)LAMBDA表達式的用法

    這篇文章主要介紹了C# LINQ查詢表達式及對應(yīng)LAMBDA表達式的用法,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-04-04
  • .Net WInform開發(fā)筆記(五)關(guān)于事件Event

    .Net WInform開發(fā)筆記(五)關(guān)于事件Event

    我前面幾篇博客中提到過.net中的事件與Windows事件的區(qū)別,本文討論的是前者,也就是我們代碼中經(jīng)常用到的Event,感興趣的朋友可以了解下
    2013-01-01
  • 使用C#和Jieba.NET實現(xiàn)中英文混合文本關(guān)鍵詞的提取功能

    使用C#和Jieba.NET實現(xiàn)中英文混合文本關(guān)鍵詞的提取功能

    Jieba.NET?是一個在?C#?中實現(xiàn)的分詞庫,它基于?Java?的?jieba?分詞庫,并進行了?C#?語言的移植,Jieba?是一個高效的中文分詞工具,能夠處理全模式、精確模式以及搜索引擎模式,本文給大家介紹了如何使用C#和Jieba.NET實現(xiàn)中英文混合文本關(guān)鍵詞的提取功能
    2025-03-03
  • Unity查找游戲物體的六種方式詳解

    Unity查找游戲物體的六種方式詳解

    最近學習unity3d做游戲,總結(jié)了一些實用的內(nèi)容,所以下面這篇文章主要給大家介紹了關(guān)于Unity查找游戲物體的六種方式,需要的朋友可以參考下
    2021-06-06
  • C#實現(xiàn)翻轉(zhuǎn)字符串的方法

    C#實現(xiàn)翻轉(zhuǎn)字符串的方法

    這篇文章主要介紹了C#實現(xiàn)翻轉(zhuǎn)字符串的方法,涉及C#操作字符串的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 深入理解.NET中的異步

    深入理解.NET中的異步

    異步編程是程序設(shè)計的重點,在實際的項目,在大量的數(shù)據(jù)入庫以及查詢數(shù)據(jù)并進行計算的時候,程序的UI界面往往卡死在那里,這時候就需要對計算時間限制的過程進行異步處理,同時正確的使用異步編程去處理計算限制的操作和耗時IO操作還能提升的應(yīng)用程序的吞吐量及性能
    2021-06-06
  • C#項目中引用Swagger的詳細步驟和配置方式

    C#項目中引用Swagger的詳細步驟和配置方式

    本文詳細介紹了如何在C#項目中安裝和配置Swagger,包括添加相關(guān)NuGet包、配置Swagger服務(wù)和啟用Swagger中間件,還講解了如何為API添加注釋和描述,配置安全定義,以及如何使用Swagger進行API測試和調(diào)試
    2025-02-02
  • C#區(qū)分中英文按照指定長度截取字符串的方法

    C#區(qū)分中英文按照指定長度截取字符串的方法

    這篇文章主要介紹了C#區(qū)分中英文按照指定長度截取字符串的方法,涉及C#操作字符串的正則匹配與截取等常用操作技巧,非常具有實用價值,需要的朋友可以參考下
    2015-03-03
  • C#實現(xiàn)隨鼠標移動窗體實例

    C#實現(xiàn)隨鼠標移動窗體實例

    這篇文章主要介紹了C#實現(xiàn)隨鼠標移動窗體實例,主要通過簡單的窗體事件代碼即可實現(xiàn)鼠標隨窗體移動的功能,非常簡單實用,需要的朋友可以參考下
    2014-10-10
  • C#職責鏈模式實例詳解

    C#職責鏈模式實例詳解

    這篇文章主要介紹了C#職責鏈模式,以實例形式完整分析了C#職責鏈模式的相關(guān)技巧與實現(xiàn)方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07

最新評論

体育| 芮城县| 青神县| 济宁市| 东至县| 高尔夫| 长海县| 化州市| 普定县| 万全县| 乐业县| 股票| 定襄县| 常熟市| 罗田县| 北流市| 桑植县| 咸宁市| 江西省| 小金县| 楚雄市| 茂名市| 政和县| 舒兰市| 乐亭县| 和硕县| 保靖县| 太和县| 鹿泉市| 泾川县| 定南县| 吴江市| 杂多县| 三台县| 宁陵县| 娄烦县| 井研县| 勃利县| 鞍山市| 南澳县| 邮箱|