版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
總結:1)量化2)構建組織,把研發(fā)人員和技術管理體系分清楚。技術管理體系的結構、工作內(nèi)容、流程、輸出。3)培訓:對象以崗位為目標4)項目支持:分清R&D體系和業(yè)務體系的職責,包括按時間段劃分的職責5)業(yè)務線整合:時間6)DB:需細化,立項、完成時間,何時立項,轉到項目控制體系7)論文8)專利:跟蹤和關注Neusoft
Group
Ltd.Date:
5/24/2021程序調(diào)試與程序排錯IA事業(yè)部Neusoft
Group
Ltd.Date:
5/24/2021課程主要內(nèi)容程序調(diào)試方法程序排錯方法程序排錯舉例問題與習題Neusoft
Group
Ltd.Date:
5/24/2021第一部分程序排錯方法Neusoft
Group
Ltd.Date:
5/24/2021主要內(nèi)容1.1程序調(diào)試技巧_VC1.2排錯準備1.3排查過程實例Neusoft
Group
Ltd.Date:
5/24/20211.1 程序調(diào)試技巧_VC(1)設置斷點(F9)在當前光標所在的行下斷點,如果當前行已經(jīng)有斷點,則取消斷點;F5調(diào)試狀態(tài)運行程序,程序執(zhí)行到有斷點的地方會停下來;通過ALT+F9還可以下設置條件斷點;
注意,并不是所有斷點都會停;比如被設置斷點的語句在程序里面沒有被執(zhí)行;單步執(zhí)行(F10)單步執(zhí)行程序;CTRL+F10運行到光標所在行;單步執(zhí)行深入函數(shù)內(nèi)部(F11)如果當前執(zhí)行語句是函數(shù)調(diào)用,則會進入函數(shù)里面;SHIFT+F11跳出當前所在函數(shù);通過Memory了解指定內(nèi)存地址內(nèi)存儲的內(nèi)容通過CallStack了解上級(父)函數(shù)內(nèi)部信息,包括變量數(shù)值……Neusoft
Group
Ltd.Date:
5/24/20211.1 程序調(diào)試技巧_VC(2)通過打印信息排錯
如果VC提供的調(diào)試手段還不能符合需要,可以嘗試打印信息的方式;在需要輸出信息的地方寫上printf(“??????”);打印可以根據(jù)需要輸出信息;打印信息可以長期保存,便于他人參與分析和討論;Neusoft
Group
Ltd.Date:
5/24/20211.2
排查準備(1)排查的立足點
發(fā)現(xiàn)問題,首先要懷疑是自己的問題,而不是抱怨編譯系統(tǒng)、或者程序庫、或者除了他們的代碼之外的其他任何東西;
排錯必須從結果出發(fā),逆向思考,去發(fā)現(xiàn)原因。一旦有了一個完全的解釋,我們就知道如何去更正了;看看程序垮臺前已經(jīng)有了什么樣的輸出如果可能的話,看看堆棧軌跡(callstack)排查思路如果有明顯的線索尋找熟悉的模式檢查最近的改動。錯誤很可能就在新的代碼里,或者是由于這些改動而暴露出來不要兩次犯同樣的錯誤。當你改正了一個錯誤后,應該問問自己是否在程序里其他地方也犯過同樣錯誤現(xiàn)在排除,而不是以后。在急忙中需要處理的事情太多,也可能造成其他損害。在任何一次程序垮臺時都不要忽視它,應該立即對它進行跟蹤,因為它可能不
會再現(xiàn),直到一切都變得太晚了Neusoft
Group
Ltd.Date:
5/24/20211.2
排查準備(2)現(xiàn)在排除,而不是以后。在急忙中需要處理的事情太多,也可能造成其他損害。在任何一次程序垮臺時都不要忽視它,應該立即對它進行跟蹤,因為它可能不
會再現(xiàn),直到一切都變得太晚了取得堆棧軌跡(callstack)非常仔細地閱讀代碼,仔細想一段時間,但是不要急于去做修改把你的代碼解釋給別人,讓有經(jīng)驗的人分析如果有明顯的線索把錯誤弄成可以重現(xiàn)的第一步應該是設法保證你能夠使錯誤按自己的要求重現(xiàn)如果無法把錯誤弄成每次都出現(xiàn)的,那么就應該設法弄清為什么做不到。即使你無法保證錯誤每次都出現(xiàn),如果你能減少等待它出現(xiàn)的時間,也就能夠更快地找到它。如果一個程序提供了排錯輸出,那么就應該打開它分而治之設法構造出最小的又能保證錯誤現(xiàn)身的輸入,這樣可以減少可能性采用二分檢索的方式Neusoft
Group
Ltd.Date:
5/24/20211.2
排查準備(3)研究錯誤的計數(shù)特性顯示輸出,使搜索局部化寫自檢測代碼如果需要更多的信息,你可以寫自己的檢查函數(shù)去測試某些條件、打印出相關變量的值或者終止程序寫出一些例行程序,讓它們對數(shù)據(jù)結構或其他信息做在線的一致性檢查寫記錄文件。以某種固定格式寫出一系列的排錯輸出畫一個圖。在測試和排錯中,有時圖形比文字更加有效保留記錄。如果查找某個錯誤的過程花了一定時間,你可能就要開始忘記試驗過的情況和已經(jīng)學到的東西了。Neusoft
Group
Ltd.Date:
5/24/20211.3
排查過程實例(1)利用VC的Debug工具進行調(diào)試關于A程序的功能詳細說明見
word文檔。關于A程序代碼請參見a.c文件。閱讀運行方法:選中文件 “a.c”圖標,,右鍵
Copy 粘貼到指定的文件夾
打開。需要排查的問題問題1:程序里面存在一個錯 誤,導致程序運行不能結束, 請排除;問題2:排除問題1后,程序輸 出結果如下:11
34
33
32
1230
29
28
27
2625
24
35
22
2120
19
18
17
1613
14
23
31
13結果仍不正確,請繼續(xù)排查;Neusoft
Group
Ltd.Date:
5/24/20211.3
排查過程實例(2)分析步驟程序現(xiàn)狀如下圖,程序陷于死循環(huán)狀態(tài)。Neusoft
Group
Ltd.Date:
5/24/20211.3
排查過程實例(3)出發(fā)點看代碼可能會找到原因,但是非常耗時;對于這個問題,不是很適用。利用VC的Debug工具VC提供了很多Debug的工具,如設置斷點(F9)、單步執(zhí)行(F10)…詳細參見《IA_VC++&&MSDN的使用》對于死循環(huán)的程序,可以通過菜單中Debug
Break(方式如圖),來暫停程序。Neusoft
Group
Ltd.Date:
5/24/20211.3
排查過程實例(4)暫停后的程序如圖。Neusoft
Group
Ltd.Date:
5/24/20211.3
排查過程實例(5)問題的原因通過F10單步執(zhí)行,你會發(fā)現(xiàn)程序這個循環(huán)(上圖)中出不來了。原因是變量j在循環(huán)體內(nèi)被誤修改(如下),導致死循環(huán)。if
((j
=
min1)
||
(j
==
min2)
)….這就是導致問題的原因,判斷符號被誤寫成賦值符號,多么慘痛的教訓?。。±^續(xù)將if((j
=min1)||(j==min2))修改if((j
==min1)||(j==min2))后,繼續(xù)執(zhí)行程序,可以得到如下的輸出:11
34
33
32
1230
29
28
27
2625
24
35
22
2120
19
18
17
1613
14
23
31
13這個結果仍不正確,需要繼續(xù)調(diào)查。請各位利用VC的Debug工具解決這個問題。Neusoft
Group
Ltd.Date:
5/24/2021第二部分問題與習題Neusoft
Group
Ltd.Date:
5/24/2021問題表Q1:如何設置斷點、取消斷點?Q2:如何設
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 淄博市巡游出租汽車駕駛員區(qū)域科目考試題庫及答案(供參考)
- 2025年河北女子職業(yè)技術學院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 普通合伙合同協(xié)議書
- 隔音降噪合同范本
- 幼兒園中班建康活動策劃方案五篇
- 信號工勞務合同
- 標準鋼材購銷合同樣本
- 智能設備研發(fā)與生產(chǎn)合作合同
- 代理的合同范本
- 2024年數(shù)字化教育平臺推廣合同
- 測井監(jiān)督管理手冊
- 冷庫庫房招商方案
- 芯片可靠性分析
- 2023年貴州省畢節(jié)市中考物理試題(原卷+解析版)真題含答案
- 口腔種植技術臨床應用能力評估報告范本
- 從中國制造到中國創(chuàng)造(優(yōu)秀課件)
- 新華字典第12版電子版
- 【考試版】蘇教版2022-2023學年四年級數(shù)學下冊開學摸底考試卷(五)含答案與解析
- 血液透析個案護理兩篇
- 第八章 客戶關系管理
- 新版人教版高中英語選修一、選修二詞匯表
評論
0/150
提交評論