在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > LabVIEW程序的調(diào)試方式

            LabVIEW程序的調(diào)試方式

            作者: 時(shí)間:2017-01-09 來(lái)源:網(wǎng)絡(luò) 收藏
            調(diào)試工具是任何一種程序開(kāi)發(fā)環(huán)境都必須提供的功能,它們可以顯著地提高程序員的開(kāi)發(fā)效率。LabVIEW作為一種圖形化程序設(shè)計(jì)語(yǔ)言的IDE工具(同時(shí)也是一門(mén)獨(dú)特的語(yǔ)言),自然需要考慮為工程師提供適合于圖形化語(yǔ)言調(diào)試的工具。
            事實(shí)上,LabVIEW并沒(méi)有規(guī)定哪些工具被劃分為調(diào)試工具,哪些工具被劃分為其它的工具。這種界限和定義是比較模糊的,在實(shí)際使用中,我們可以把輔助程序員更準(zhǔn)確、快捷地定位代碼執(zhí)行和Bug的工具統(tǒng)稱(chēng)為“調(diào)試工具”。
            LabVIEW主要的調(diào)試工具位于工具欄,如圖 1所示。從左至右依次是:
            1. Run:運(yùn)行,單擊它會(huì)直接運(yùn)行當(dāng)前的VI,快捷鍵Ctrl + R。
            2. Run Continuously:連續(xù)運(yùn)行。
            3. Abort Execution:中止運(yùn)行,單擊它會(huì)停止當(dāng)前運(yùn)行的VI。
            4. Pause:暫停運(yùn)行。
            5. Highlight Execution:高亮執(zhí)行工具,單擊它程序會(huì)變慢,反映整個(gè)數(shù)據(jù)流運(yùn)行的過(guò)程。
            6. Retain Wire Values:?jiǎn)螕羲鼤?huì)保留當(dāng)前連接線(xiàn)上的值(這一點(diǎn)在后面描述)。
            7. Start Single Stepping:?jiǎn)尾綀?zhí)行,此時(shí)程序往前運(yùn)行一個(gè)節(jié)點(diǎn)。
            8. Step Over:跳過(guò)當(dāng)前的節(jié)點(diǎn)。
            9. Step Out:跳出單步執(zhí)行。
            10. Step Into:進(jìn)入到某一個(gè)子VI中執(zhí)行。
            其中(1)~(4)是常用的工具,用來(lái)控制VI的運(yùn)行、暫停和停止;而(7)~(10)是其它的程序設(shè)計(jì)語(yǔ)言的IDE環(huán)境均具備的,用法也沒(méi)有其它的區(qū)別。因此,本文將著重介紹LabVIEW中特有的程序調(diào)試工具或者方法。


            圖 1 LabVIEW的工具欄

            1.1錯(cuò)誤列表(Error List)

            LabVIEW作為一種圖形化的編譯型語(yǔ)言,其編譯的過(guò)程是在后臺(tái)自動(dòng)完成的(無(wú)需程序員手動(dòng)編譯),編譯后的目標(biāo)代碼也存儲(chǔ)在vi文件中。因此LabVIEW會(huì)“實(shí)時(shí)地”判斷代碼是否能夠正常運(yùn)行。當(dāng)無(wú)法正常運(yùn)行時(shí),將彈出Error List對(duì)話(huà)框,列出當(dāng)前VI繼承中所有的錯(cuò)誤,如圖 2所示。
            對(duì)話(huà)框分為3個(gè)部分,分別表示發(fā)生錯(cuò)誤的VIs、發(fā)生錯(cuò)誤的節(jié)點(diǎn)和錯(cuò)誤簡(jiǎn)單表述、錯(cuò)誤的詳細(xì)描述。雙擊某一個(gè)VI可以直接打開(kāi)該VI,雙擊某個(gè)錯(cuò)誤節(jié)點(diǎn)可以直接定位到該節(jié)點(diǎn)節(jié)點(diǎn)。


            圖 2 Error List對(duì)話(huà)框
            通常使用該方式可以快速地定位發(fā)生錯(cuò)誤的VI或節(jié)點(diǎn),并根據(jù)錯(cuò)誤描述進(jìn)行修改。有時(shí)候會(huì)出現(xiàn)LabVIEW的“運(yùn)行”箭頭是斷開(kāi),而Error List對(duì)話(huà)框中卻沒(méi)有顯示任何錯(cuò)誤的情況。這是由于LabVIEW在內(nèi)存中的已編譯代碼無(wú)法執(zhí)行,只需要把當(dāng)前的VI重新強(qiáng)制編譯即可,方法是在單擊“運(yùn)行”箭頭的同時(shí)按住Ctrl鍵(LabVIEW 8.6.1之前的版本可能是Ctrl + Shift鍵)。

            1.2VI繼承和調(diào)用(VI Hierarchy)

            LabVIEW允許并且鼓勵(lì)子VI的調(diào)用,因此VI之間存在著調(diào)用與被調(diào)用關(guān)系,LabVIEW將這種關(guān)系以圖形的方式表示出來(lái),稱(chēng)之為“VI繼承”(動(dòng)態(tài)調(diào)用的VI將不會(huì)顯示其調(diào)用與被調(diào)用的關(guān)系)。選擇View>>VI Hierarchy菜單項(xiàng),彈出VI之間的關(guān)系圖,如圖 3所示。


            圖 3 VI Hierarchy
            從該圖中可以迅速地看出當(dāng)前VI的子VI以及被調(diào)用的VI之間的關(guān)系,雙擊某個(gè)VI的圖標(biāo)可以快速地打開(kāi)該VI前面板。
            【小技巧】
            雙擊某個(gè)VI圖標(biāo)的同時(shí)按住Ctrl鍵能夠直接打開(kāi)VI的后面板。
            當(dāng)LabVIEW暫停在某個(gè)VI中時(shí),會(huì)在背面板工具欄中顯示當(dāng)前VI被調(diào)用的VIs列表,如圖 4所示。從圖中可以看出,當(dāng)前的VI正被1.vi調(diào)用,單擊該選項(xiàng),可以看出整個(gè)被調(diào)用關(guān)系的列表VIs。當(dāng)從列表中選擇某一個(gè)VI時(shí),LabVIEW會(huì)自動(dòng)定位到該VI。


            圖 4 VI Caller Chain

            1.3斷點(diǎn)工具(Breakpoint)

            LabVIEW運(yùn)行對(duì)背面板中的任何一個(gè)節(jié)點(diǎn)和連線(xiàn)都可以設(shè)置斷點(diǎn),程序運(yùn)行到斷點(diǎn)位置時(shí)會(huì)暫停運(yùn)行。
            在需要放置斷點(diǎn)的位置上右擊,選擇彈出菜單中的Breakpoint菜單項(xiàng),使用Set Breakpoint指令可以在當(dāng)前位置放置一個(gè)斷點(diǎn),如圖 5所示。


            圖 5 Breakpoint快捷菜單
            當(dāng)在已經(jīng)存在斷點(diǎn)的位置上右擊鼠標(biāo)時(shí),會(huì)彈出圖 6所示的快捷菜單。使用Clear Breakpoint菜單項(xiàng)可以清除當(dāng)前的斷點(diǎn),而Disable Breakpoint可以禁止當(dāng)前的斷點(diǎn),此時(shí)斷點(diǎn)將不再暫停程序的執(zhí)行。


            圖 6 Breakpoint快捷菜單
            在大型的程序調(diào)試中,斷點(diǎn)往往是使用的最為頻繁的工具,它使得程序員能夠迅速地專(zhuān)注于所關(guān)心的VI,而對(duì)于其它的VI執(zhí)行過(guò)程則正常運(yùn)行。通常,程序員為了找到某個(gè)Bug出現(xiàn)的原因,會(huì)在背面板中設(shè)置若干個(gè)斷點(diǎn),而一旦清除掉Bug后又需要將這些斷點(diǎn)一一地清除,這難免會(huì)重復(fù)和繁瑣。LabVIEW 8.6提供了一個(gè)斷點(diǎn)管理的工具,可以選擇圖 5或圖 6中的Breakpoint Manager菜單項(xiàng),啟動(dòng)如所示的斷點(diǎn)管理對(duì)話(huà)框(或者直接使用View>>Breakpoint Manager菜單項(xiàng))。該對(duì)話(huà)框中列出了當(dāng)前內(nèi)存中所有VI中包含的斷點(diǎn),程序員可以選擇任意地?cái)帱c(diǎn)批量地將它們清除或者禁設(shè)置為禁止?fàn)顟B(tài)。

            上一頁(yè) 1 2 下一頁(yè)

            關(guān)鍵詞: LabVIEW程序調(diào)試方

            評(píng)論


            技術(shù)專(zhuān)區(qū)

            關(guān)閉