很多同學(xué)在寫C語言時(shí),感覺最難的不是程序怎么寫,而是程序?qū)懲炅嗽趺凑{(diào)試。程序?qū)懗鰜砹?,自己檢查著沒有錯誤,但一運(yùn)行卻出現(xiàn)一大堆錯誤,好不容易、好不容易改的沒錯誤了,一運(yùn)行卻不出正確結(jié)果,然后又小心戀戀的改動一處,忽然又冒出一大堆錯誤來,再后來呢,稀里嘩啦一陣亂響之后,便“飄然而去”。
今天,總結(jié)了一些的經(jīng)驗(yàn)與大家一起交流,如有不當(dāng)之處肯請大家指正。
產(chǎn)生這種情況的原因是基本知識掌握不牢,基本語法掌握不靠,練習(xí)做的太少,調(diào)試功夫不到家所致。掌握了正確的調(diào)試技巧,多多練習(xí),這種情況應(yīng)該能比較快的解決。
程序的調(diào)試非常重要,不只是C語言,對于所有語言來說都是如此,掌握好的調(diào)試方法,可以事半功倍。下面說一下程序已經(jīng)沒有編譯錯誤,能夠運(yùn)行,但又得不出正確結(jié)果的情況下的程序的常用常見調(diào)試方法:
1、追蹤方式執(zhí)行(Trace):一步一步執(zhí)行,遇到函數(shù)調(diào)用,追蹤到調(diào)用函數(shù),一步一步執(zhí)行。
2、單步方式執(zhí)行(step):一步一步執(zhí)行,遇到函數(shù)調(diào)用,調(diào)用語句作為一步執(zhí)行
3、下斷點(diǎn)(breakpoint):設(shè)置斷點(diǎn),當(dāng)程序執(zhí)行到斷點(diǎn)時(shí),程序暫停執(zhí)行。
4、執(zhí)行到光標(biāo)所在處(go to cursor):相當(dāng)于一個(gè)斷點(diǎn)。
5、監(jiān)視(watches):隨時(shí)監(jiān)視某些變量或?qū)ο笾档淖兓闆r。
常用常見的就是這五種方法。以上方法適用于程序已經(jīng)沒有編譯錯誤,能夠運(yùn)行,但又得不出正確結(jié)果的情況。在程序的調(diào)試過程中,監(jiān)視某些變量或?qū)ο笾档淖兓闆r是很重要的一部分,前四種執(zhí)行方式與值的監(jiān)視配合使用,能準(zhǔn)確定位錯誤所在,可以具體到是哪一行出現(xiàn)錯誤。
如果怎么調(diào)都有編譯錯誤怎么辦呢?這是練習(xí)做的太少,基礎(chǔ)不是太好的緣故。這需要再下點(diǎn)功夫,再多做點(diǎn)練習(xí)。程序?qū)懚嗔?,?dāng)出現(xiàn)一種錯誤時(shí),就知道大體是什么原因造成的了。網(wǎng)上和教材上有專門論述出錯信息及錯誤處理的文章,個(gè)人覺得這類文章大部分不太適合初學(xué)者看。
出錯信息都是E文,不是太明白怎么辦?可以用金山快譯翻譯一下,盡量避免下次再犯錯。
-
調(diào)試
+關(guān)注
關(guān)注
7文章
572瀏覽量
33899 -
C語言
+關(guān)注
關(guān)注
180文章
7599瀏覽量
136219
原文標(biāo)題:寫程序簡單一調(diào)試就頭疼?高手分享C語言調(diào)試經(jīng)驗(yàn)
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論