• <rt id="imqiw"></rt>
  • <rt id="imqiw"><acronym id="imqiw"></acronym></rt>
    
    
  • 經(jīng)典案例

    聯(lián)系方式

    公司名稱(chēng):昆山華航電子有限公司
    公司電話(huà):0512-50139595
    公司郵箱:eric@kshuahang.com
    公司地址:江蘇省昆山市善浦西路

    您當(dāng)前的位置:首頁(yè) > 技術(shù)資源 > PCB設(shè)計(jì)技術(shù)

    PCB抄板設(shè)計(jì)之軟件缺陷查找方法介紹

      本文將介紹如何避免那些隱蔽然而常見(jiàn)的錯(cuò)誤,并介紹的幾個(gè)技巧幫助工程師發(fā)現(xiàn)PCB抄板軟件中隱藏的錯(cuò)誤。大部分軟件開(kāi)發(fā)項(xiàng)目依靠結(jié)合代碼檢查、結(jié)構(gòu)測(cè)試和功能測(cè)試來(lái)識(shí)別軟件缺陷。盡管這些傳統(tǒng)技術(shù)非常重要,而且能發(fā)現(xiàn)大多數(shù)軟件問(wèn)題,但它們無(wú)法檢查出當(dāng)今復(fù)雜系統(tǒng)中的許多共性錯(cuò)誤。  結(jié)構(gòu)測(cè)試或白盒測(cè)試能有效地發(fā)現(xiàn)代碼中的邏輯、控制流、計(jì)算和數(shù)據(jù)錯(cuò)誤。這項(xiàng)測(cè)試要求對(duì)軟件的內(nèi)部工作能夠一覽無(wú)遺(因此稱(chēng)為"白盒"或"玻璃盒"),以便了解軟件結(jié)構(gòu)的詳細(xì)情況。它檢查每個(gè)條件表達(dá)式、數(shù)學(xué)操作、輸入和輸出。由于需要測(cè)試的細(xì)節(jié)眾多,結(jié)構(gòu)測(cè)試每次檢查一個(gè)軟件單元,通常為一個(gè)函數(shù)或類(lèi)。  代碼審查也使用與實(shí)現(xiàn)缺陷和潛在問(wèn)題查找同樣復(fù)雜的技術(shù)。與白盒測(cè)試一樣,審查通常針對(duì)軟件的各個(gè)單元進(jìn)行,因?yàn)橐粋€(gè)有效的審查過(guò)程要求的是集中而詳盡的檢查。  與審查和白盒測(cè)試不同,功能測(cè)試或黑盒測(cè)試假設(shè)對(duì)軟件的實(shí)現(xiàn)一無(wú)所知,它測(cè)試由受控輸入所驅(qū)動(dòng)的輸出。功能測(cè)試由測(cè)試人員或開(kāi)發(fā)人員所編寫(xiě)的測(cè)試過(guò)程組成,它們規(guī)定了一組特定程序輸入對(duì)應(yīng)的預(yù)期程序輸出。測(cè)試運(yùn)行之后,測(cè)試人員將實(shí)際輸出與預(yù)期輸出進(jìn)行比較,查找問(wèn)題。黑盒測(cè)試可以有效地找出未能實(shí)現(xiàn)的需求、接口問(wèn)題、性能問(wèn)題和程序最常用功能中的錯(cuò)誤。  雖然將這些技術(shù)結(jié)合起來(lái)可以找出隱藏在一個(gè)特定軟件程序中的大部分錯(cuò)誤,但它們也有局限。代碼審查和白盒測(cè)試每次只針對(duì)一小部分代碼,忽視了系統(tǒng)的其它部分。黑盒測(cè)試通常將系統(tǒng)作為一個(gè)整體來(lái)處理,忽視了實(shí)現(xiàn)的細(xì)節(jié)。一些重要的問(wèn)題只有在集中考察它們?cè)谡麄€(gè)系統(tǒng)內(nèi)相互作用時(shí)的細(xì)節(jié)才能被發(fā)現(xiàn);傳統(tǒng)的方法無(wú)法可靠地找出這些問(wèn)題。必須整體地檢查軟件系統(tǒng),查找具體問(wèn)題的特定原因。由于詳盡徹底地分析程序中的每個(gè)細(xì)節(jié)和它與代碼中所有其它部分之間的相互作用通常是不大可能的,因此分析應(yīng)該針對(duì)程序中已經(jīng)知道可能導(dǎo)致問(wèn)題的特定方面。  本文將探討其中三個(gè)潛在的問(wèn)題領(lǐng)域:  * 堆棧溢出  * 競(jìng)爭(zhēng)條件  * 死鎖  讀者可在網(wǎng)上閱讀本文的第二部分,它將探討下列問(wèn)題:  * 時(shí)序問(wèn)題  * 可重入條件  在采用多任務(wù)實(shí)時(shí)設(shè)計(jì)技術(shù)的系統(tǒng)中,以上所有問(wèn)題都相當(dāng)普遍。  堆棧溢出  處理器使用堆棧來(lái)存儲(chǔ)臨時(shí)變量、向被調(diào)函數(shù)傳遞參數(shù)、保存線(xiàn)程“狀態(tài)”,等等。如果系統(tǒng)不使用虛擬內(nèi)存(換句話(huà)說(shuō),它不能將內(nèi)存頁(yè)面轉(zhuǎn)移到磁盤(pán)上以釋放內(nèi)存空間供其它用途),堆棧將固定為產(chǎn)品出廠(chǎng)時(shí)的大小。如果由于某種原因堆棧越出了編程人員所分配的數(shù)量范圍,程序?qū)⒆兊貌淮_定。這種不穩(wěn)定可能導(dǎo)致系統(tǒng)發(fā)生嚴(yán)重故障。因此,確保系統(tǒng)在最壞情況下能夠分配到足夠的堆棧至關(guān)重要。  確保永不發(fā)生堆棧溢出的唯一途徑就是分析代碼,確定程序在各種可能情況下的最大堆棧用量,然后檢查是否分配了足夠的堆棧。測(cè)試不大可能觸發(fā)特定的瞬時(shí)輸入組合進(jìn)而導(dǎo)致系統(tǒng)出現(xiàn)最壞情況。  堆棧深度分析的概念比較簡(jiǎn)單:  1. 為每個(gè)獨(dú)立的線(xiàn)程建立一棵調(diào)用樹(shù)。  2. 確定調(diào)用樹(shù)中每個(gè)函數(shù)的堆棧用量。  3. 檢查每棵調(diào)用樹(shù),確定從樹(shù)根到外部“樹(shù)葉”的哪條調(diào)用路徑需要使用的堆棧最多。  4. 將每個(gè)獨(dú)立線(xiàn)程調(diào)用樹(shù)的最大堆棧用量相加。  5. 確定每個(gè)中斷優(yōu)先級(jí)內(nèi)各中斷服務(wù)程序(ISR)的最大堆棧用量并計(jì)算其總和。但是,如果ISR本身沒(méi)有堆棧而使用被中斷線(xiàn)程的堆棧,則應(yīng)將ISR使用的最大堆棧數(shù)加到各線(xiàn)程堆棧之上。  6. 對(duì)于每個(gè)優(yōu)先級(jí),加上中斷發(fā)生時(shí)用來(lái)保存處理器狀態(tài)的堆棧數(shù)。  7.如果使用RTOS,則加上RTOS自身內(nèi)部用途需要的最大堆棧數(shù)(與應(yīng)用代碼引發(fā)的系統(tǒng)調(diào)用不同,后者已包含在步驟2中)。除此之外,還有兩個(gè)重要事項(xiàng)需要考慮。首先,僅僅從高級(jí)語(yǔ)言源代碼建立的調(diào)用樹(shù)很可能并不完善。大部分編譯器采用運(yùn)行時(shí)庫(kù)(run-time library)來(lái)優(yōu)化常用計(jì)算任務(wù),如大值整數(shù)的乘除、浮點(diǎn)運(yùn)算等,這些調(diào)用只在編譯器產(chǎn)生的匯編語(yǔ)言中才可見(jiàn)。運(yùn)行時(shí)庫(kù)函數(shù)本身可能使用大量的堆棧空間,在分析時(shí)必須將它們包括進(jìn)去。如果使用的是C++語(yǔ)言,則以下所有類(lèi)型的函數(shù)(方法)也都必須包含到調(diào)用樹(shù)內(nèi):結(jié)構(gòu)器、析構(gòu)器、重載運(yùn)算符、復(fù)制結(jié)構(gòu)器和轉(zhuǎn)換函數(shù)。所有的函數(shù)指針也都必須進(jìn)行解析,并且將它們調(diào)用的函數(shù)包含進(jìn)分析之中。
    上一篇:如何讓盲孔和基底銅結(jié)合更緊密
    下一篇多層PCB電路圖形檢測(cè)技術(shù)分析
    溫馨提示:
    凡在本公司進(jìn)行電路板克隆業(yè)務(wù)的客戶(hù),必須有合法的PCB設(shè)計(jì)版權(quán)來(lái)源聲明,以保護(hù)原創(chuàng)PCB設(shè)計(jì)版權(quán)所有者的合法權(quán)益;
    【 字體: 】【打印此頁(yè)】 【返回】【頂部】【關(guān)閉

    [PCB抄板設(shè)計(jì)之軟件缺陷查找方法介紹]^相關(guān)文章


    主站蜘蛛池模板: 精品无码国产自产拍在线观看蜜 | 十八禁视频网站在线观看| 久久久精品国产| 99久久免费国产香蕉麻豆| 欧美三级黄视频| 国产精品国产三级国产普通话| 亚洲欧美4444kkkk| 91麻豆果冻天美精东蜜桃传媒 | 日本高清免费一本视频无需下载| 国产熟女一区二区三区五月婷| 亚洲人成色在线观看| 一个色综合导航| 欧美亚洲国产精品久久| 国产精品VA在线观看无码不卡| 亚洲va中文字幕| 国产玉足榨精视频在线观看| 日韩欧美高清在线观看| 国产夫妻在线视频| 久久亚洲av无码精品色午夜| 西西人体www高清大胆视频| 日本乱码一卡二卡三卡永久| 国产一区风间由美在线观看| 久久久久亚洲精品天堂| 美美女高清毛片视频免费观看| 成人无码WWW免费视频| 免费高清日本1在线观看| ipx-412天海翼在线播放 | 无码国产色欲XXXXX视频| 国产三级在线观看视频不卡| 中文字幕激情视频| 精品无码久久久久久久动漫| 国产欧美色一区二区三区| 久久精品久久久| 男朋友想吻我腿中间那个部位| 国产精品99久久精品爆乳| 中文字幕在线网| 欧美老熟妇乱大交xxxxx| 日本中文字幕一区二区有码在线| 免费无码黄动漫在线观看| 亚洲伊人久久网| 成人在线观看国产|