免費建電子商務(wù)網(wǎng)站怎樣優(yōu)化關(guān)鍵詞到首頁
一、調(diào)試調(diào)試的基本步驟
發(fā)現(xiàn)程序錯誤的存在
以隔離、消除等方式對錯誤進行定位
確定錯誤產(chǎn)生的原因
提出糾正錯誤的解決辦法
對程序錯誤予以改正,重新測試
二、Debug和Release
Debug通常稱為調(diào)試版本,它包含調(diào)試信息,并且不作任何優(yōu)化,
便于程序員調(diào)試程序。
可以進行一步一步的調(diào)試
在對應(yīng)文件夾
Release稱為發(fā)布版本,它往往是進行了各種優(yōu)化,使得程序在代碼大小和運行速度上都是最優(yōu)的,以便用戶很好地使用。
不能一步一步調(diào)試也在對應(yīng)文件夾但與debug版本內(nèi)存大小會不同。
- 常用快捷鍵
最常使用的幾個快捷鍵:
F5
啟動調(diào)試,經(jīng)常用來直接跳到下一個斷點處。
F9
創(chuàng)建斷點和取消斷點
斷點的重要作用,可以在程序的任意位置設(shè)置斷點。
這樣就可以使得程序在想要的位置隨意停止執(zhí)行,繼而一步步執(zhí)行下去。
如果程序前面有scanf則需要把scanf完成
F10
逐過程,通常用來處理一個過程,一個過程可以是一次函數(shù)調(diào)用,或者是一條語句。
F11
逐語句,就是每次都執(zhí)行一條語句,但是這個快捷鍵可以使我們的執(zhí)行邏輯進入函數(shù)內(nèi)部(這是最常用的)。
CTRL+F5
開始執(zhí)行不調(diào)試,如果你想讓程序直接運行起來而不調(diào)試就可以直接使用。
沒進入調(diào)試狀態(tài)
F10進入調(diào)試狀態(tài)
- 自動窗口
什么都不用輸入變量自己存在,會自動的把程序里的運行,進入函數(shù)里會把函數(shù)外的值給不顯示,只顯示函數(shù)里的變量。所以當(dāng)需要觀察全局時自動窗口不太方便!
- 局部變量
與自動窗口類似,觀察程序運行過程中上下文的信息
- 監(jiān)視
需要手動輸入,但是都是自己想要觀察的值,進入函數(shù)也不會消失而是變成灰色。最常用
監(jiān)視窗口如果要監(jiān)控void函數(shù)里的數(shù)組可以用【數(shù)組名,第幾位】
- 內(nèi)存
用內(nèi)存功能查看數(shù)組地址
輸入數(shù)組名字.列數(shù)可以自己輸入,一行顯示4列1列一個字節(jié)
- 調(diào)用堆棧
- 反匯編
把程序轉(zhuǎn)換為匯編語言
練習(xí)和注意事項
棧區(qū)
此程序當(dāng)i+到12之后會把i變0,因為發(fā)現(xiàn)i和arr{12}是同一個地址
當(dāng)下標10過后適當(dāng)?shù)耐笤浇?#xff0c;就有可能到i的地址,當(dāng)改到12的時候i也會更改就會導(dǎo)致程序的死循環(huán)。
strcpy(目標,內(nèi)容)
求字符串長度
Char*是一個指針,str里面是字符h的地址
Const:修飾指針,讓指針指向的內(nèi)容不可以更改。
Assert(str)不讓str為空指針,需要引用頭文件<assert.h>