1. 程式人生 > >如何使用Visual Studio調試C#程序

如何使用Visual Studio調試C#程序

設置 除了 程序 轉載 繼續 程序啟動 如果 bubuko 功能

當代碼不能正常運行時,可以通過調試定位錯誤。常用的程序調試操作包括設置斷點、開始、中斷和停止程序的執行、單步執行程序以及使程序運行到指定的位置。下面將對這幾種常用的程序調試操作進行詳細地介紹。

1.斷點操作

斷點通知調試器,使應用程序在某點上(暫停執行)或某情況發生時中斷。發生中斷時,稱程序和調試器處於中斷模式。進入中斷模式並不會終止或結束程序的執行,所有元素(如函數、變量和對象)都保留在內存中。執行可以在任何時候繼續。

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

技術分享圖片

圖11.5菜單欄插入斷點

插入斷點後,就會在設置斷點的行旁邊的灰色空白處出現一個紅色圓點,並且該行代碼也呈高亮顯示,如圖11.6所示。

技術分享圖片

圖11.6插入斷點後效果圖

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

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

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

技術分享圖片

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

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

2.開始執行

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

技術分享圖片

圖11.8選擇“啟動調試”菜單

技術分享圖片

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

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

技術分享圖片

圖11.10工具欄中的啟動調試按鈕

如果選擇“啟動調試”菜單,則應用程序啟動並一直運行到斷點,此時斷點處的代碼以黃色底色顯示,如圖11.11所示。可以在任何時刻中斷執行,以查看值(將鼠標移動到相應的變量或者對象上,即可查看其具體值,如圖11.12所示)、修改變量或觀察程序狀態。

技術分享圖片

圖11.11運行到斷點

技術分享圖片

圖11.12查看變量的值

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

技術分享圖片

圖11.13運行到光標處

3.中斷執行

當執行到達一個斷點或發生異常時,調試器將中斷程序的執行。選擇“調試”→“全部中斷”菜單後,調試器將停止所有在調試器下運行的程序的執行。程序並沒有退出,可以隨時恢復執行,此時應用程序處於中斷模式。“調試”菜單中“全部中斷”菜單如圖11.14所示。

技術分享圖片

圖11.14“調試”→“全部中斷”菜單

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

技術分享圖片

圖11.15工具欄中的中斷執行按鈕

4.停止執行

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

5.單步執行和逐過程執行

通過單步執行,調試器每次只執行一行代碼,單步執行主要是通過逐語句、逐過程和跳出這3種命令實現的。“逐語句”和“逐過程”的主要區別是當某一行包含函數調用時,“逐語句”僅執行調用本身,然後在函數內的第一個代碼行處停止。而“逐過程”執行整個函數,之後在函數外的第一行代碼處停止。如果位於函數調用的內部並想返回到調用函數時,應使用“跳出”,“跳出”將一直執行代碼,直到函數返回,然後在調用函數中的返回點處中斷。

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

技術分享圖片

圖11.16單步執行的3種命令

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

本文來自明日科技出版的《零基礎學C#,轉載請註明出處!!!

如何使用Visual Studio調試C#程序