探索C++語言種種簡潔靈活特性說明
據(jù)了解發(fā)現(xiàn)C++語言確實是個簡潔靈活的特性,打錯了一個字符,或者忘了打字符就有很大的可能造成巨大的損失的,這樣就要編程人員和一些技術(shù)人員有一顆很踏實而仔細的心,我相信會一定會成功的。
比如程序員經(jīng)常將等于邏輯判斷符==誤敲成賦值運算符=,對于我來說就不太可能程序運行出錯后才發(fā)現(xiàn),因為我的習(xí)慣是,對于邏輯判斷,將常量置于==的左邊,如果我誤輸入了=,那么編譯的時候編譯器就會報錯。
Visual C++調(diào)試技術(shù)
檢查代碼直到頭暈眼花也沒有發(fā)現(xiàn)錯誤,一運行程序就死機,只好祭出***的法寶:調(diào)試器。Visual C++調(diào)試器可以稱得上Windows平臺下***的C/C++調(diào)試器了,而且Visual C++調(diào)試器還可以調(diào)試用其他語言如Delphi、Java編寫的程序,可謂功能強大。#t#
盡管Visual C++調(diào)試器具有如此大的威力,它也只能幫助你發(fā)現(xiàn)一些隱藏的邏輯錯誤,對于程序設(shè)計和結(jié)構(gòu)的缺陷無能為力。程序員最常用到的Visual C++調(diào)試技術(shù)有設(shè)置斷點、跟蹤調(diào)用堆棧和反匯編調(diào)試,其他編譯器功能均為調(diào)試中的輔助工具,因為反匯編調(diào)試需要程序員具備匯編語言知識和語言底層結(jié)構(gòu),這里不再介紹。
調(diào)試C++語言的先決條件
專業(yè)調(diào)試者有一個共同的特點,即他們同時也是優(yōu)秀的開發(fā)者。顯然,如果你不是一個優(yōu)秀的開發(fā)者,那么你也不可能成為調(diào)試專家,反之亦然。以下是要成為一名高水平的,至少是合格的調(diào)試者或者開發(fā)者所需要精通的領(lǐng)域。
1. 了解項目:對項目的了解是防范用戶界面、邏輯及性能方面的錯誤的***要素。了解各種功能如何在各種源文件里實現(xiàn),以及在哪兒實現(xiàn),你就能夠縮小查找范圍,很快找出問題所在。
2. 掌握語言:掌握項目所使用的語言,調(diào)試者(開發(fā)者)既要知道如何使用這些語言進行編程,還要知道這些C++語言在后臺作些什么。
3. 掌握技術(shù):要解決棘手的問題,***個重要步驟就是抓住所用技術(shù)的要領(lǐng),這并不意味著你必須對所用技術(shù)的一切細節(jié)都一清二楚,而是說你應(yīng)該對所使用的技術(shù)有一個大概的了解,而且更重要的是,當(dāng)需要更詳細的信息時,你應(yīng)該確切的知道在哪兒查找。
4. 操作系統(tǒng)和CPU:任何項目都實際運行在特定的操作系統(tǒng)和特定的CPU,對操作系統(tǒng)了解越多,對查找錯誤幫助越大;從理論上來說,掌握匯編語言,你就可以調(diào)試解決任何bug。
無論從事什么工作,只要是經(jīng)常從事技術(shù)工作的人,都必須不斷地學(xué)習(xí)以跟上技術(shù)的發(fā)展,更不用說想干得更好或是想走在技術(shù)發(fā)展的前沿。經(jīng)常閱讀優(yōu)秀的技術(shù)書籍和雜志,多動手編寫一些實用程序,閱讀其他優(yōu)秀開發(fā)者的代碼,作一些反匯編工作,都會有效幫助你提高開發(fā)和調(diào)試水平(尤其當(dāng)你將這四者有機結(jié)合起來)。
調(diào)試過程
確定一個適用于解決所有錯誤的調(diào)試過程有一定的難度,但John Robbins提出的調(diào)試過程應(yīng)該說是最實用的:
1. 復(fù)制錯誤
2. 描述錯誤
3. 始終假定錯誤是自己的問題
4. 分解并解決錯誤
5. 進行有創(chuàng)見的思考
6. 使用調(diào)試輔助工具
7. 開始調(diào)試工作
8. 校驗錯誤已被更正
9. 學(xué)習(xí)和交流
對錯誤進行描述有助于改正錯誤,同時也能夠得到同事們的幫助。逐步縮小問題范圍、排除不存在錯誤的代碼段,直到找到問題所在,是解決所有問題的普遍適用方法。有些奇怪的錯誤需要你把視線從代碼堆轉(zhuǎn)移到諸如操作系統(tǒng)、硬件環(huán)境等其他方面去。
善用各種調(diào)試C++語言輔助工具能夠節(jié)省你大量的時間,而且某些工具本身就不會給你犯有些錯誤的機會。當(dāng)你解決了一個bug,停下來思考一下,什么導(dǎo)致你(或他)犯了這樣的錯誤,以后如何避免?要記住調(diào)試器僅僅是個工具,就好比一只螺絲起子,你讓它做什么它就只做什么,真正的調(diào)試器是你自己腦子中的調(diào)試思想。