c語(yǔ)言程序中調(diào)試方法有哪些-創(chuàng)新互聯(lián)

小編給大家分享一下c語(yǔ)言程序中調(diào)試方法有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

專業(yè)從事成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,高端網(wǎng)站制作設(shè)計(jì),小程序制作,網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊(duì)竭力真誠(chéng)服務(wù),采用HTML5+CSS3前端渲染技術(shù),響應(yīng)式網(wǎng)站建設(shè),讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過程建立專項(xiàng)小組,與您實(shí)時(shí)在線互動(dòng),隨時(shí)提供解決方案,暢聊想法和感受。

c語(yǔ)言程序的調(diào)試方法

所謂程序調(diào)試是指對(duì)程序的查錯(cuò)和排錯(cuò)。

調(diào)試程序一般應(yīng)經(jīng)過以下幾個(gè)步驟:

一、先進(jìn)行人工檢查,即靜態(tài)檢查。

在寫好一個(gè)程序以后,不要匆匆忙忙上機(jī),而應(yīng)對(duì)程序進(jìn)行人工檢查。這一步十分重要,它能發(fā)現(xiàn)程序設(shè)計(jì)人員由于疏忽而造成的

多數(shù)錯(cuò)誤。這一步往往容易被人忽視,總希望把一切都推給計(jì)算機(jī)去做,但這樣會(huì)多占用機(jī)器時(shí)間,作為一個(gè)程序人員應(yīng)當(dāng)養(yǎng)成嚴(yán)謹(jǐn)?shù)淖黠L(fēng),每一步都要嚴(yán)格把關(guān),不把問題留給后面的工序。

為了更有效地進(jìn)行人工檢查,所編的程序應(yīng)力求做到以下幾點(diǎn):

①應(yīng)當(dāng)采用結(jié)構(gòu)化程序方法編程,以增加可讀性;

②盡可能多加注釋,以幫助理解每段程序的作用;

③在編寫復(fù)雜的程序時(shí)不要將全部語(yǔ)句都寫在main函數(shù)中,而要多利用函數(shù),用一個(gè)函數(shù)來(lái)實(shí)現(xiàn)一個(gè)單獨(dú)的功能。各函數(shù)之間除用

參數(shù)傳遞數(shù)據(jù)外,盡量少出現(xiàn)耦合關(guān)系,這樣便于分別檢查和處理。

二、在人工檢查無(wú)誤后,再上機(jī)調(diào)試。

通過上機(jī)發(fā)現(xiàn)錯(cuò)誤稱為動(dòng)態(tài)檢查。在編譯時(shí)會(huì)給出語(yǔ)法錯(cuò)誤的信息,調(diào)試時(shí)可以根據(jù)提示信息具體找出程序中出錯(cuò)之處并改正。應(yīng)

當(dāng)注意的是有時(shí)提示出錯(cuò)的地方并不是真正出錯(cuò)的位置,如果在提示出錯(cuò)的行找不到錯(cuò)誤的話應(yīng)當(dāng)?shù)缴弦恍性僬?。有時(shí)提示出錯(cuò)的類型并非絕對(duì)準(zhǔn)確,由于出錯(cuò)的情況繁多且各種錯(cuò)誤互有關(guān)聯(lián),因此要善于分析,找出真正的錯(cuò)誤,而不要只從字面意義上找出錯(cuò)信息,鉆牛角尖。

如果系統(tǒng)提示的出錯(cuò)信息很多,應(yīng)當(dāng)從上到下逐一改正。有時(shí)顯示出一大片出錯(cuò)信息往往使人感到問題嚴(yán)重,無(wú)從下手。其實(shí)可能

只有一二個(gè)錯(cuò)誤。例如,對(duì)使用的變量未定義,編譯時(shí)就會(huì)對(duì)所有含該變量的語(yǔ)句發(fā)出出錯(cuò)信息。這時(shí)只要加上一個(gè)變量定義,就所有錯(cuò)誤都消除了。

三、在改正語(yǔ)法錯(cuò)誤(包括“錯(cuò)誤(error)”和“警告(warning)”)后,程序經(jīng)過連接(link)就得到可執(zhí)行的目標(biāo)程序。

運(yùn)行

程序,輸入程序所需數(shù)據(jù),就可得到運(yùn)行結(jié)果。應(yīng)當(dāng)對(duì)運(yùn)行結(jié)果作分析,看它是否符合要求。有的初學(xué)者看到運(yùn)行結(jié)果就認(rèn)為沒問題了,不作認(rèn)真分析,這是危險(xiǎn)的。

有時(shí),數(shù)據(jù)比較復(fù)雜,難以立即判斷結(jié)果是否正確。可以事先考慮好一批“試驗(yàn)數(shù)據(jù)”,輸入這些數(shù)據(jù)可以很容易判斷結(jié)果正確與

否。例如解方程ax2+bx+c=0,輸入a、b、c的值分別為1、-2、1時(shí),根x的值是1。這是容易判斷的,若根不等于1,程序顯然有錯(cuò)。

但是,用“試驗(yàn)數(shù)據(jù)”時(shí),程序運(yùn)行結(jié)果正確,還不能保證程序完全正確。因?yàn)橛锌赡茌斎肓硪唤M數(shù)據(jù)時(shí)運(yùn)行結(jié)果不對(duì)。例如,用公式求根x的值,當(dāng)a≠0和b2-4ac>0時(shí),能得出正確結(jié)果,當(dāng)a=0或b2-4ac<0時(shí),就得不到正確結(jié)果(假設(shè)程序中未對(duì)a=0作防御處理以及未作復(fù)數(shù)處理)。因此應(yīng)當(dāng)把程序可能遇到的各種情況都一一試到。例如,if語(yǔ)句有兩個(gè)分支,有可能程序在經(jīng)過其中一個(gè)分支時(shí)結(jié)果正確,而經(jīng)過另一個(gè)分支時(shí)結(jié)果不對(duì)。必須考慮周全。事實(shí)上,當(dāng)程序復(fù)雜時(shí)很難把所有的可能情況全部都試到,選擇典型的臨界數(shù)據(jù)作試驗(yàn)即可。

四、運(yùn)行結(jié)果不對(duì),大多屬于邏輯錯(cuò)誤。對(duì)這類錯(cuò)誤往往需要仔細(xì)檢查和分析才能發(fā)現(xiàn)??梢圆捎靡韵罗k法:

1.將程序與流程圖仔細(xì)對(duì)照,如果流程圖是正確的,程序?qū)戝e(cuò)了,是很容易發(fā)現(xiàn)的。例如,復(fù)合語(yǔ)句忘記寫花括弧,只要一對(duì)照流

程圖就能很快發(fā)現(xiàn)。

2.如果實(shí)在找不到錯(cuò)誤,可以采用“分段檢查”的方法。在程序不同的位置設(shè)幾個(gè)printf函數(shù)語(yǔ)句,輸出有關(guān)變量的值,逐段往下

檢查。直到找到在某一段中數(shù)據(jù)不對(duì)為止。這時(shí)就已經(jīng)把錯(cuò)誤局限在這一段中了。不斷減小“查錯(cuò)區(qū)”,就能發(fā)現(xiàn)錯(cuò)誤所在。

3.也可以用“條件編譯”命令進(jìn)行程序調(diào)試(在程序調(diào)試階段,若干printf函數(shù)語(yǔ)句就要進(jìn)行編譯并執(zhí)行。當(dāng)調(diào)試完畢,這些語(yǔ)句

不用再編譯了,也不再被執(zhí)行了)。這種方法可以不必一一去掉printf函數(shù)語(yǔ)句,以提高效率。

4.如果在程序中沒有發(fā)現(xiàn)問題,就要檢查流程圖有無(wú)錯(cuò)誤,即算法有無(wú)問題。如有則改正之,接著修改程序。

5.有的系統(tǒng)還提供debug(調(diào)試)工具,跟蹤程序并給出相應(yīng)信息,使用更為方便,請(qǐng)查閱有關(guān)手冊(cè)。

總之,程序調(diào)試是一項(xiàng)細(xì)致深入的工作,需要下功夫,動(dòng)腦子,善于積累經(jīng)驗(yàn)。在程序調(diào)試過程中往往反映出一個(gè)人的水平,經(jīng)驗(yàn)

和態(tài)度。希望大家給以足夠的重視。上機(jī)調(diào)試程序的目的決不是為了“驗(yàn)證程序的正確”,而是“掌握調(diào)試的方法和技術(shù)”,要學(xué)會(huì)自己找問題,這樣慢慢自己就會(huì)寫出錯(cuò)誤較少的實(shí)用程序。

以上是“c語(yǔ)言程序中調(diào)試方法有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站bm7419.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

新聞標(biāo)題:c語(yǔ)言程序中調(diào)試方法有哪些-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://bm7419.com/article2/ijiic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、域名注冊(cè)、網(wǎng)站策劃、App設(shè)計(jì)移動(dòng)網(wǎng)站建設(shè)、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化