freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言程序設(shè)計12上半部分習(xí)題課動態(tài)跟蹤調(diào)試-資料下載頁

2025-01-12 17:22本頁面
  

【正文】 uild?Start Debug?Go 黃色右箭頭表示當(dāng)前就要執(zhí)行的代碼行 當(dāng)前執(zhí)行中的上下文(語境,函數(shù)) 自動給出的當(dāng)前語境下的變量值、返回值觀察窗口 Debug工具欄 自定義的觀察窗口,可以定義多組 掌握 Debug工具條的主要按鈕含義 Stop debugging 停止調(diào)試 step into 單步跟進,如果當(dāng)前語句有函數(shù)調(diào)用,則單步進入函數(shù)執(zhí)行,否則單步執(zhí)行完一條語句。 step over 單步執(zhí)行完當(dāng)前語句,若當(dāng)前語句有函數(shù)調(diào)用,除非被調(diào)用函數(shù)中有斷點,否則不會跟進函數(shù)。 step out 執(zhí)行完當(dāng)前語句所在函數(shù)的執(zhí)行,返回該函數(shù)的調(diào)用處。 Run to cursor 執(zhí)行到當(dāng)前光標(biāo)處, 注意觀察箭頭 便于理解記憶 常用進程控制快捷鍵 快捷鍵 說明 F5 go SHIFT+F5 Step over CTRL+F5 Execute program F7 Build CTRL+F7 Compile F10 Step over CTRL+F10 Run to cursor F11 Step into SHIFT+F11 Step out CRTL+SHIFT+F5 Restart 點擊 Step into后,進入函數(shù) Menu()執(zhí)行 當(dāng)前就要執(zhí)行的代碼行 語境切換成Menu() 3. 如何了解執(zhí)行狀態(tài)? 查看數(shù)值 ? VC支持查看變量、表達式和內(nèi)存的值。所有這些觀察都必須是在斷點中斷的情況下進行。 ? 觀看變量的值最簡單,當(dāng)斷點到達時,把光標(biāo)移動到這個變量上,停留一會就可以看到變量的值。 watch ? VC提供一種被稱為 Watch的機制來觀看變量和表達式的值。 ? 在斷點狀態(tài)下,在變量上單擊右鍵,選擇Quick Watch, 就彈出一個對話框,顯示這個變量的值。 watch ? 單擊 Debug工具條上的 Watch按鈕,就出現(xiàn)一個 Watch視圖( Watch1, Watch2 , Watch3,Watch4),在該視圖中輸入變量或者表達式,就可以觀察 變量或者表達式的值。 ? 注意:這個表達式不能有副作用,例如 ++運算符絕對禁止用于這個表達式中,因為這個運算符將修改變量的值,導(dǎo)致 軟件的邏輯被破壞。 點擊 Step over后,開始執(zhí)行當(dāng)前函數(shù)代碼 自動給出當(dāng)前語境下變量的值 當(dāng)前執(zhí)行的代碼行 當(dāng)前程序運行結(jié)果? 什么也沒有,為什么? 因為沒有輸出任何內(nèi)容 再次單擊 Step over,執(zhí)行完第一個 printf語句 printf語句返回值被自動給出,表示輸出了 38個字符 執(zhí)行結(jié)果? 執(zhí)行第 1條 printf語句以后的輸出結(jié)果 點擊 run to cursor 將光標(biāo)移動到此行 printf語句返回值被自動給出,表示輸出了 38個字符 執(zhí)行到此行之前 剛才那幾個變量怎么不見了?因為有點遠(yuǎn)(上下文),只顯示執(zhí)行位置附近的,想看怎么辦? 可以在此處增加你想看的東西。 基本方法:直接在此處寫上(還有別的辦法加)你想看的內(nèi)容的表達式 如:想看 SeleFun和 SelectTime值,想看 SelectTime的地址,怎么辦 手工增加 SeleFun和SelectTime變量,系統(tǒng)會自動給出它們的值 繼續(xù)以 step over的方式到此語句,注意觀察 debug工具欄的幾個按鈕已經(jīng)變灰,原因是在執(zhí)行 scanf語句,等待你在運行窗口中錄入數(shù)據(jù) 手工在任務(wù)條點擊顯示運行窗口,輸入 3 當(dāng)前上下文的一些東西又自動出現(xiàn)了 這個 +號表示還可展開查看 各個變量的值發(fā)生了變化 繼續(xù)單擊 Step over,執(zhí)行到ExecuteFunction函數(shù),然后單擊 Step into進入此函數(shù)。 單擊 Step into進入ExecuteFunction函數(shù)執(zhí)行代碼。 為什么 SeleFun的值發(fā)生了變化? 原因:語境發(fā)生變化了,ExecuteFunction函數(shù)中沒有這個變量。 點擊此處繼續(xù)執(zhí)行 當(dāng)前執(zhí)行的代碼行 等待用戶輸入 手工在任務(wù)條點擊顯示運行窗口,輸入任意正整數(shù)如: 53 單擊 Step into進入prime函數(shù)執(zhí)行代碼。 點擊 step out,退出當(dāng)前函數(shù) prime的執(zhí)行,返回到原調(diào)用處 Call stack—調(diào)用堆棧 ? 想要知道函數(shù)被調(diào)用的過程怎么辦? ? 調(diào)用堆棧 ? 反映了當(dāng)前斷點處函數(shù)是被那些函數(shù)按照什么順序調(diào)用的。 ? 單擊 Call stack按鈕,顯示 Call Stack對話框。其中顯示了一個調(diào)用系列,最上面的是當(dāng)前函數(shù),往下依次是調(diào)用函數(shù)的上級函數(shù)。 ? 單擊這些函數(shù)名可以跳到對應(yīng)的函數(shù)中去。 此按鈕 點擊 step out,退出當(dāng)前函數(shù) prime的執(zhí)行,返回到原調(diào)用處 原調(diào)用處 運行結(jié)果顯示 再次點擊 step out,退出當(dāng)前函數(shù)ExecuteFunction的執(zhí)行,返回到原調(diào)用處 此時準(zhǔn)備執(zhí)行下一遍循環(huán) 注意語境變化 觀察 SeleFun值的改變,因為語境發(fā)生變化,返回到了主調(diào)函數(shù) Menu()。 觀察 SelectTime值的變化,因為選擇了一次執(zhí)行 執(zhí)行該行語句,等待用戶輸入選項 輸入選項為 0,準(zhǔn)備結(jié)束程序運行 執(zhí)行該語句,跳出 for循環(huán) 打印選擇次數(shù) Menu()執(zhí)行完畢,執(zhí)行 return語句后結(jié)束整個程序的調(diào)試運行。 在調(diào)試過程中可以隨時點擊此按鈕結(jié)束程序運行。 4. Debug工具條上的其它按鈕功能 Memory ? 由于指針指向的數(shù)組, Watch只能顯示第一個元素的值。為了顯示數(shù)組的后續(xù)內(nèi)容,或者要顯示一片內(nèi)存的內(nèi)容,可以使用 memory功能。 ? 在 Debug工具條上點 memory按鈕,就彈出一個對話框,在其中輸入地址,就可以顯示該地址指向的內(nèi)存的內(nèi)容。 Varibles ? Debug工具條上的 Varibles按鈕彈出一個框,顯示所有當(dāng)前執(zhí)行上下文中可見的變量的值。特別是當(dāng)前指令涉及的變量,以紅色顯示。 Reigsters Debug工具條上的 Reigsters按鈕彈出一個框,顯示當(dāng)前的所有寄存器的值。 其他調(diào)試手段 系統(tǒng)提供一系列特殊的函數(shù)或者宏來處理 Debug版本相關(guān)的信息,如下: 宏名 /函數(shù)名 說明 TRACE 使用方法和 printf完全一致,他在 output框中輸出調(diào)試信息 ASSERT 它接收一個表達式,如果這個表達式為 TRUE,則無動作,否則中斷當(dāng)前程序執(zhí)行。對于系統(tǒng)中出現(xiàn)這個宏 導(dǎo)致的中斷,應(yīng)該認(rèn)為你的函數(shù)調(diào)用未能滿足系統(tǒng)的調(diào)用此函數(shù)的前提條件。 VERIFY 和 ASSERT功能類似,所不同的是,在 Release版本中, ASSERT不計算輸入的表達式的值,而 VERIFY計算表達式的值。 本周五停課,后面補上機課一次 Q& A!
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1