目錄
Debug 和 Release 的區別
F10 --- 逐過程調試 &?F11?--- 逐語句調試
F9 --- 新建/切換斷點 &?F5 --- 開始調試?
shift + F5 & ctrl + F5?
Debug 和 Release 的區別
Debug:通常為調試版本,它包含調試信息,并且不作任何優化,便于程序員調試程序
Release:為發布版本,它進行了各種優化,使得程序載代碼大小和運行速度上都是最優的,以便于用戶很好的使用
F10 --- 逐過程調試 &?F11?--- 逐語句調試
main函數 內部的條件語句或者判斷語句,使用 F10 或者 F11 都沒有區別
只有當 main函數 中有函數調用時,F10 和 F11 才會有區別
F10遇函數調用時:?
當調試箭頭指向函數調用時按下F10,會直接走過函數,并完成函數中的代碼
F11遇函數調用時:
當調試箭頭指向函數調用時按下F11,會進入函數內部,能觀察到函數內部的細節
F9 --- 新建/切換斷點 &?F5 --- 開始調試?
F5 和 F9 通常是配合使用,先使用 F9 打斷點,再使用 F5 調試
直接打斷點:
這是一個打印二維數組的每一位的代碼,使用 F9 將斷點打到 printf函數 的地方,那么按下 F5 時調試箭頭就會直接指向斷點處,且斷點處以上的代碼已經執行完畢?
打斷點時設置參數:?
打上斷點后 -> 右擊鼠標 -> 點擊條件
斷點設置為?i == 2 ,此時 F5 運行時,會直接運行到當i == 2時的邏輯,且斷點前的代碼已經運行完畢
shift + F5 & ctrl + F5?
?shift + F5:當你在調試程序時,按下?shift + F5 就會終止調試
?ctrl + F5:開始執行,不調試,直接執行完代碼,且不會調試