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

正文內(nèi)容

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

2025-01-12 17:22本頁面
  

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