您好,登錄后才能下訂單哦!
當代碼不能正常運行時,可以通過調試定位錯誤。常用的程序調試操作包括設置斷點、開始、中斷和停止程序的執行、單步執行程序以及使程序運行到指定的位置。下面將對這幾種常用的程序調試操作進行詳細地介紹。
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>鍵執行“跳出”操作。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。