




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第8-2節(jié)什么是計程儀程序調(diào)試、1 .概要、調(diào)試? 在計程儀程序沒有語法錯誤,但執(zhí)行結(jié)果不理想的情況下,使用適當?shù)墓ぞ吆头椒?,反復發(fā)現(xiàn)程序中存在的問題,進行修正,最終使程序計程儀程序達到要求的過程。 調(diào)試是程序設(shè)計師必須掌握的基本技巧,對于創(chuàng)建高質(zhì)量的項目計程儀計劃非常重要。 掌握基本的調(diào)試技巧對今后的學習、工作非常必要! 為什么要調(diào)試? 問題我的普拉姆和書一樣,為什么沒有結(jié)果呢?我的普拉姆沒有錯啊。 為什么沒有結(jié)果呢? 執(zhí)行計程儀程序的結(jié)果不正確。 怎樣才能找到錯誤呢? 原因普計程儀拉姆如果沒有語法錯誤就沒有意義錯誤。 為了確認計程儀程序沒有錯誤,可以進行程序的各種測試,2 .解決程序計程儀
2、程序錯誤的方法,手動閱讀或修改基本的方法,軟件程序員的一行一行的程序計程儀程序根據(jù)實驗數(shù)據(jù),在頭腦或紙上模擬程序的執(zhí)行過程更正檢測到的錯誤,重新運行測試,如果有錯誤,繼續(xù)顯示并更正。 這個方法是最基本的,是每個人都必須掌握的方法。 以往的普計程儀程序的調(diào)試手段很少,大多只能用紙、筆、腦模擬記錄普計程儀程序的動態(tài)執(zhí)行中的狀態(tài)。 基本的方法有問題。 這個方法沒有效率,是原來的方法。 程序設(shè)計師需要強大的源程序理解、執(zhí)行過程記憶、預測、糾錯能力和經(jīng)驗。 程序設(shè)計師用頭、紙、筆模擬計程儀程序的執(zhí)行狀態(tài)記錄程序的執(zhí)行進度,記錄所有變量或數(shù)據(jù)的變化過程,當執(zhí)行中的環(huán)境變化程序和模塊達到一定規(guī)模時,很難用這
3、種方法進行調(diào)整。 程序設(shè)計師頭腦中的補正算和普計程儀計劃實際完成的補正算有很多不同,這樣的差異很難發(fā)現(xiàn),很難出現(xiàn)在紙上。 的雙曲馀弦值。 使用鼎力相助工具來鼎力相助調(diào)試,隨著技術(shù)的進步,各種集成驅(qū)動電路的功能也越來越增強,人們實現(xiàn)和提供了很多功能來鼎力相助程序設(shè)計師在集成驅(qū)動電路中調(diào)試程序計程儀。 提供集成驅(qū)動電路輔助功能的工具使軟件程序員能夠控制和查看plume計程儀程序的執(zhí)行過程。 例如,單步運行,在一個地方執(zhí)行,進入一個函數(shù)的內(nèi)部執(zhí)行,執(zhí)行中,工具記錄,展示,修正環(huán)境的狀態(tài)。 變量值、內(nèi)存數(shù)據(jù)、函數(shù)門限值、普計程儀拉姆接口輸出結(jié)果怎么做? 為了使程序設(shè)計師能夠在集成驅(qū)動電路中調(diào)試pum計
4、程儀程序,是否需要存儲有關(guān)pum計程儀程序的信息? 除錯資訊、3 .項目工程組態(tài)與除錯專案與除錯debugging,您是否關(guān)注每個項目工程的除錯資料夾? 請注意,本節(jié)有許多可以理解的概念,如果暫時不明白,可以先跳。 什么是項目工程? project是一個項目工程,它是一個工程和過程,可通過設(shè)置修訂來實現(xiàn)一系列計程儀計劃,以滿足用戶的需要。 請看卷揚機寫了程序的那個課件的項目工程的說明。 兩個概念項目設(shè)置項目工程設(shè)置項目配置項目工程設(shè)置、項目設(shè)置和項目工程有很多代理,項目配置,項目配置,項目設(shè)置,項目配置, Project Configuration (項目配置)總稱為一個Project Con
5、figuration (設(shè)定值對項目工程的所有部署者的定徑套),Project Settings (項目設(shè)置)的定徑套總稱為一個Project Configuration. VC (項目配置)提供標準項目工程設(shè)定信息的定徑套Set active project configuration (設(shè)置活動項目配置),只能為云同步啟用或激活一個配置。 從Build菜單中選擇Set active project configuration .可以使項目工程構(gòu)成的理解變得簡單(不正確)的各個項目有debug和release這樣的開發(fā)狀態(tài),得到的編譯結(jié)果分別為區(qū)別在于,標準的Debug版本的項目工程配置指示
6、編譯程序在編譯時,在項目工程或程序計程儀中包含調(diào)試信息,對程序計程儀不進行任何優(yōu)化,程序設(shè)計師容易調(diào)試程序。 標準發(fā)行版本的配置指示編譯程序在編譯時優(yōu)化pull計程儀程序。 得到的結(jié)果在查詢密碼大小和執(zhí)行速度兩方面都很好,程序計程儀中也不包含調(diào)試信息。 問題:什么是優(yōu)化? 為什么無法進行優(yōu)化?如果您選擇項目設(shè)置、C/C頁,然后在類別中選擇general,則會顯示調(diào)試信息(Debug Info )下拉列表框,其中提供的調(diào)試信息方式包括鼎力相助調(diào)試程序的工具被稱為集成驅(qū)動電路的調(diào)試程序調(diào)試程序。如何進行調(diào)試?方法1 .菜單:構(gòu)建開始調(diào)試程序方法2 .直接喀嚦聲工具條的Go按鈕的方法3 .想按熱牛鼻
7、子F5停止程序,在怎么破設(shè)定程序斷點。 程序斷點是最常見的技巧。 程序斷點是調(diào)試器設(shè)置的查詢密碼位置。 當計程儀程序執(zhí)行到程序斷點時,程序計程儀將中斷執(zhí)行并進入調(diào)試程序。 調(diào)試時,只需設(shè)定程序斷點,將程序計程儀到調(diào)試程序,即可通過上線了調(diào)試程序。 如何設(shè)置程序斷點,如何設(shè)置程序斷點1簡單的方法:將光標移到要設(shè)置程序斷點的查詢密碼行上,推一推F9快捷牛鼻子或喀嚦聲工具條上的小手圖標。 方法2更強大的方法要彈出Breakpoints對話計程儀框,請推一推定CTRL B或ALT F9快捷方式,或從菜單Edit/Breakpoints打開快捷方式。 打開后,喀嚦聲Break at微調(diào)器右側(cè)的箭頭,選擇
8、適當?shù)奈恢眯畔ⅰ?通常,直接選擇line xxx就是一盞茶。 要設(shè)置非當前位置的程序斷點,請選擇“高級”,然后提供有關(guān)函數(shù)、行號和可執(zhí)行文件的信息。 本課件的采用例和流程說明從程序開始顯示菜單追蹤執(zhí)行第三個功能結(jié)束的全過程,課程演示計程儀程序設(shè)定程序斷點、程序斷點標志、程序斷點標志,在主函數(shù)上只有兩個句子,調(diào)用菜單函數(shù)進行游戲。 可以設(shè)置程序斷點對話框計程儀,刪除程序斷點,將光標移至指定程序斷點所在的行,然后再次推一推F9牛鼻子并取消程序斷點。 如前所述,打開Breakpoints對話框后,還可以根據(jù)界面提示刪除程序斷點。 您可以設(shè)置被稱為條件程序斷點(有點困難)和條件程序斷點的程序斷點條件。
9、 對于新添加的程序斷點,可以喀嚦聲“Conditions (條件)”按鈕設(shè)置程序斷點表達式。 如果更改此表達式,則會中斷堆計程儀程序。 數(shù)據(jù)程序斷點(有點困難)、數(shù)據(jù)程序斷點只能在Breakpoints對話框中設(shè)定。 選擇 Data 頁后,將出現(xiàn)用于設(shè)置數(shù)據(jù)程序斷點的對話框。 在編輯框中輸入公式。 當此表達式的值發(fā)生變化時,數(shù)據(jù)程序斷點將到達。 一般來說,此表達式必須由運算符和全局變量組成。 例如,如果在編輯框中鍵入名為SelectTime的全局變量的名稱,則如果計程儀程序具有SelectTime,則該程序?qū)⒃诖苏Z句中停止。 消息程序斷點(有點困難),VC也通訊端口截取Windows消息。 他
10、有兩種方法:窗口消息處理函數(shù)和特定的消息中斷。5 .設(shè)定程序斷點后,如何執(zhí)行計程儀程序?調(diào)試: 1 .如果推一推該按鈕2.f5.buildstartDebuggo,則黃色的右箭頭表示當前執(zhí)行的查詢密碼行,當前執(zhí)行中的上下文(上下文、函數(shù))、自動提供的當前上下文中的變量、光圈值觀察窗口, 調(diào)試停止調(diào)試停止調(diào)試,step into提升步驟,如果當前語句中存在函數(shù)調(diào)用,則提升步驟進入函數(shù)執(zhí)行,否則提升步驟執(zhí)行一個語句。 step over以一個步驟執(zhí)行當前語句。 如果當前語句具有函數(shù)調(diào)用,則函數(shù)將不會被跟蹤,除非被調(diào)用函數(shù)具有程序斷點。 step out完成具有當前語句的函數(shù)的執(zhí)行,并返回該函數(shù)的調(diào)
11、用目標。 Run to cursor運行到當前光標處,看到箭頭容易理解記憶,經(jīng)常使用進程特羅爾快捷牛鼻子,喀嚦聲Step into后,進入函數(shù)Menu ()的執(zhí)行,立即執(zhí)行的查詢密碼行,上下文為Menu (),6 .等顯示數(shù)值,VC通訊端口變量、表達式和內(nèi)存值的顯示。 所有的這些個觀察都必須在程序斷點中斷的狀態(tài)下進行。 看變量的值是最簡單的,當程序斷點到達時,將光標移動到該變量上,停留在有會兒上就能看到變量的值。 watch和VC提供稱作watch的反應歷程,以查看變量和表達式的值。 在程序斷點狀態(tài)下,右喀嚦聲變量并選擇“Quick Watch”,將顯示一個對話框計程儀框,其中顯示該變量的值。
12、 喀嚦聲watch、Debug工具條上的watch按鈕可顯示watch視圖(Watch1、Watch2、Watch3、Watch4),在該視圖中鍵入變量或表達式可觀察變量或表達式的值。 注意:這個公式?jīng)]有副作用。 例如,運算符絕對禁止在此表達式中使用。 這是因為運算符更改了變量的值,破壞了軟件的邏輯。 喀嚦聲Step over時,當前函數(shù)查詢密碼的執(zhí)行開始,當前上下文中的變量的值、當前執(zhí)行的查詢密碼行、當前的plum執(zhí)行結(jié)果自動得到嗎? 沒什么,為什么? 沒有任何輸出,如果再次喀嚦聲Step over,第一個printf語句將被執(zhí)行,printf語句的上限值將被自動賦予,輸出38個字符,是否表
13、示結(jié)果已被執(zhí)行? 執(zhí)行第1條printf語句后的輸出結(jié)果表示,如果喀嚦聲run to cursor,將光標移動到該行,則printf語句的上限值自動被賦予,輸出了38個字符,在執(zhí)行到該行之前,剛才的一些變量為什么消失因為有點遠,所以只顯示執(zhí)行位置附近的東西,你想怎么做? 我可以在這里增加想看的東西。 基本方法:在這里直接寫上你想看的內(nèi)容的表達式。 例如,我想看看SeleFun和選擇時間的值。 我想看選擇時間的地址。 如何手動增加SeleFun和SelectTime的變量。 系統(tǒng)會自動給那些值。 注意debug工具條中的某些按鈕變?yōu)榛疑?,是因為?zhí)行scanf語句,等待在執(zhí)行窗口中輸入數(shù)據(jù),手動喀
14、嚦聲塔斯克欄顯示執(zhí)行窗口,輸入3,當前上下文中的一些自動出現(xiàn), 此編號表示還可以展開和查看,每個變量的值將發(fā)生變化,喀嚦聲exeer,然后喀嚦聲Step into進入ExecuteFunction函數(shù)執(zhí)行查詢密碼。 為什么SeleFun的值變了? 原因:上下文發(fā)生變化,ExecuteFunction函數(shù)中沒有該變量。 喀嚦聲此處繼續(xù)執(zhí)行,當前正在執(zhí)行的查詢密碼行將等待用戶輸入,手動在塔斯克欄的喀嚦聲中打開執(zhí)行窗口,輸入任意正整數(shù)例: 53,喀嚦聲Step into進入prime函數(shù)執(zhí)行查詢密碼。 想喀嚦聲step out,結(jié)束當前的函數(shù)prime的執(zhí)行,回到原來的調(diào)用目標,Call stack
15、調(diào)用棧內(nèi)存,知道函數(shù)被調(diào)用的過程嗎? 調(diào)用棧內(nèi)存反映了當前程序斷點中的函數(shù)被這些函數(shù)以何種順序調(diào)用。 喀嚦聲“Call stack”按鈕可打開“Call stack”對話框計程儀。 這里顯示調(diào)用系列,最上面是當前函數(shù),下面是調(diào)用函數(shù)的上位函數(shù)??陈曔@些個的函數(shù)名稱可以跳轉(zhuǎn)到相應的函數(shù)。 然后,按此按鈕喀嚦聲step out,終止當前函數(shù)prime的執(zhí)行,返回原來的調(diào)用方,返回原來的調(diào)用方,顯示執(zhí)行結(jié)果,再次喀嚦聲step out,終止當前函數(shù)ExecuteFunction的執(zhí)行,返回原來的調(diào)用方準備執(zhí)行下一個循環(huán),看到SelectTime值的變化,選擇一次執(zhí)行,執(zhí)行該語句,等待用戶輸入選項,輸入選項為0,準備結(jié)束程序執(zhí)行,執(zhí)行該語句,跳出for循環(huán),打印選擇次數(shù)執(zhí)行return語句結(jié)束整個程序計程儀,在調(diào)試過程中可以隨時喀嚦聲此按鈕來結(jié)束程序計程儀的執(zhí)行。 Watch只能顯示第一個元素的值,因為8. Debug工具條中的其他按鈕功能、Memory和指針指向的數(shù)組。 使用內(nèi)存功能可以顯示數(shù)組的后續(xù)內(nèi)容,或者顯示單個內(nèi)存的內(nèi)容。 在調(diào)試工具條下喀嚦聲“memory (內(nèi)存)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 英語教學法第二單元課件
- 古詩課教學課件
- 文庫發(fā)布:幼兒園課件
- 文庫發(fā)布:介紹課件
- 整體護理查房課件
- 教學論文寫作指導課件
- 在全市教師人才隊伍建設(shè)工作會議上的匯報發(fā)言
- 【課件】三角形的內(nèi)角+課時1+三角形的內(nèi)角和+課件+2025-2026學年人教版八年級數(shù)學上冊
- 醫(yī)學教育教學課件
- 刑 法 案 例 分 析課件
- 源網(wǎng)荷儲一體化
- 直播公司管理制度
- 圖書管理員考試備考重點試題及答案
- 2024年《宜昌市市政工程常見質(zhì)量問題防治指導手冊》
- 農(nóng)藥使用與環(huán)境安全
- 當兵言語測試試題及答案
- 曲臂車作業(yè)安全規(guī)范與操作指南
- 2025年電信人工智能學習考試題庫(含答案)
- 混凝土攪拌站項目可行性研究報告
- 老年人慢性病管理流程
- 危險性較大的分部分項工程安全監(jiān)理實施細則
評論
0/150
提交評論