代碼調試是程序員必須掌握的一門技巧,掌握代碼調試對以后學習,錯誤排除,源碼研究等都有很大的幫助。
前言
再牛的程序員也沒法一口氣把代碼全部寫正確,通常做法就是寫一小段然后驗證代碼正確性,再繼續寫下一段,這樣能保證代碼不會錯得太離譜。怎么衡量一小段代碼呢?在你覺得這段代碼沒有十足把握的情況下就應該停下來驗證一下。
調試的本質是確認你認為正確的事情確實是正確的,這次來介紹一下 Vs中調試代碼的 N 種姿勢
斷點調試常用術語
“單步進入”step into:就是單步執行,遇到子函數就進入并且繼續單步執行;
“單步執行并跳過”step over:是在單步執行時,在函數內遇到子函數時不會進入子函數內單步執行,而是將子函數整個執行完再停止,也就是把子函數整個作為一步。
“單步執行并返回”step return:就是單步執行到子函數內時,用step return就可以執行完子函數余下部分,并返回到上一層函
數。
“繼續執行”:即跳過此斷點繼續運行。
簡單的例子
先來看一個簡單的代碼,如下,代碼很簡單,結果顯而易見,咱們來調試一下這個代碼
1,進入調試
點擊菜單欄->調試->逐語句 或者使用快捷鍵“F11”
進入之后,在main函數的第一行,會出現一個黃色小箭頭,代表這此時代碼執行到的位置。
接下來繼續按"F11",即可逐步執行每行代碼了,執行的過程中,我們需要查看變量的值的變化,菜單欄->調試->窗口->局部變量,先點擊這個打開局部變量窗口
此時我們會在下面的窗口中看到變量,目前在內存里面的數據及類型
當我們繼續執行時,會發現局部變量窗口中的變量的值發生了改變,很直觀即可看到結果
當執行到函數調用語句時,會進入函數內部執行,而且局部變量里面會同步顯示函數里面的變量信息
函數執行結束,會返回到調用處,而且局部變量窗口會顯示返回值信息
這就是逐步調試一個簡單的流程,你學會了嗎?
逐步調試配合斷點
再來看一個簡單的代碼,如下
如果按"F11"使用單步調試,那么我們需要在循環處,按10次才能執行到printf語句。我們可以結合斷點,快速跳過循環。
1,添加斷點
把光標移動到需要加斷點的行,然后按"F9",或者用鼠標在需要加斷點的行前面的灰色區域點一下。
2,跳過循環
首先逐步調試到循環處,然后按"繼續"即可直接執行到最近的斷點所在的行
點“繼續”直接跳轉到斷點處
3,刪除斷點
重復添加斷點的步驟即可
-
調試
+關注
關注
7文章
574瀏覽量
33899 -
源碼
+關注
關注
8文章
633瀏覽量
29146 -
代碼
+關注
關注
30文章
4753瀏覽量
68368
發布評論請先 登錄
相關推薦
評論